package base

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Base.OrderingSource

Ordering is intended to make code that matches on the result of a comparison more concise and easier to read.

For example, instead of writing:

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

you could simply write:

  match Ordering.of_int (compare x y) with
  | Less -> ...
  | Equal -> ...
  | Greater -> ...
Sourcetype t =
  1. | Less
  2. | Equal
  3. | Greater
Sourceval compare : t -> t -> int
Sourceval hash_fold_t : Hash.state -> t -> Hash.state
Sourceval hash : t -> Hash.hash_value
include Sexplib0.Sexpable.S with type t := t
Sourceval t_of_sexp : Sexplib0.Sexp.t -> t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
Sourceval t_sexp_grammar : t Sexplib0.Sexp_grammar.t
Sourceval all : t list
include Equal.S with type t := t
Sourceval equal : t Equal.equal
Sourceval of_int : int -> t

of_int n is:

  Less     if n < 0
  Equal    if n = 0
  Greater  if n > 0
Sourceval to_int : t -> int

to_int t is:

  Less     -> -1
  Equal    -> 0
  Greater  -> 1

It can be useful when writing a comparison function to allow one to return Ordering.t values and transform them to ints later.

Sourcemodule Export : sig ... end
OCaml

Innovation. Community. Security.