module Option:sig..end
Option values.
Option values explicitly indicate the presence or absence of a value.
type'at ='a option=
| |
None |
| |
Some of |
The type for option values. Either None or a value Some v.
val none : 'a optionnone is None.
val some : 'a -> 'a optionsome v is Some v.
val value : 'a option -> default:'a -> 'avalue o ~default is v if o is Some v and default otherwise.
val get : 'a option -> 'aget o is v if o is Some v and
Invalid_argument otherwise.val bind : 'a option -> ('a -> 'b option) -> 'b optionbind o f is f v if o is Some v and None if o is None.
val join : 'a option option -> 'a optionjoin oo is Some v if oo is Some (Some v) and None otherwise.
val map : ('a -> 'b) -> 'a option -> 'b optionmap f o is None if o is None and Some (f v) is o is Some v.
val fold : none:'a -> some:('b -> 'a) -> 'b option -> 'afold ~none ~some o is none if o is None and some v if o is
Some v.
val iter : ('a -> unit) -> 'a option -> unititer f o is f v if o is Some v and () otherwise.
val is_none : 'a option -> boolis_none o is true iff o is None.
val is_some : 'a option -> boolis_some o is true iff o is Some o.
val equal : ('a -> 'a -> bool) -> 'a option -> 'a option -> boolequal eq o0 o1 is true iff o0 and o1 are both None or if
they are Some v0 and Some v1 and eq v0 v1 is true.
val compare : ('a -> 'a -> int) -> 'a option -> 'a option -> intcompare cmp o0 o1 is a total order on options using cmp to compare
values wrapped by Some _. None is smaller than Some _ values.
val to_result : none:'e -> 'a option -> ('a, 'e) resultto_result ~none o is Ok v if o is Some v and Error none
otherwise.
val to_list : 'a option -> 'a listto_list o is [] if o is None and [v] if o is Some v.
val to_seq : 'a option -> 'a Seq.tto_seq o is o as a sequence. None is the empty sequence and
Some v is the singleton sequence containing v.