# Module Ordering

    module Ordering: sig .. end

`Ordering` is intended to make code that matches on the result of a comparison more concise and easier to read. For example, one would write:

          match Ordering.of_int (compare x y) with
          | Less -> ...
          | Equal -> ...
          | Greater -> ...

rather than:

          let r = compare x y in
          if r < 0 then
            ...
          else if r = 0 then
            ...
          else
            ...

    type t =

`|` | `Less`
`|` | `Equal`
`|` | `Greater`

    val of_int : int -> t

`of_int n` is:

          Less     if n < 0
          Equal    if n = 0
          Greater  if n > 0

    module Export: sig .. end

    val t_of_sexp : Sexplib.Sexp.t -> t

    val sexp_of_t : t -> Sexplib.Sexp.t

    val compare : t -> t -> int

    val bin_t : t Bin_prot.Type_class.t

    val bin_read_t : t Bin_prot.Read.reader

    val __bin_read_t__ : (int -> t) Bin_prot.Read.reader

    val bin_reader_t : t Bin_prot.Type_class.reader

    val bin_size_t : t Bin_prot.Size.sizer

    val bin_write_t : t Bin_prot.Write.writer

    val bin_writer_t : t Bin_prot.Type_class.writer

`of_int n` is:

          Less     if n < 0
          Equal    if n = 0
          Greater  if n > 0