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 raise otherwise.
Invalid_argument if o is None.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) if o is Some v.
val product : 'a option -> 'b option -> ('a * 'b) optionproduct o0 o1 is Some (v0, v1) if o0 is Some v0 and o1 is Some and
v1None otherwise.
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 blend : ('a -> 'a -> 'a) -> 'a option -> 'a option -> 'a optionblend f o1 o2 is o1 if o2 is None, o2 if o1 is None,
and Some (f v1 v2) if o1 is Some v1 and o2 is Some v2.
val for_all : ('a -> bool) -> 'a option -> boolfor_all p behaves like List.for_all p
on a list of zero or one element:
for_all p None is true,for_all p (Some v) is p v.val exists : ('a -> bool) -> 'a option -> boolexists p behaves like List.exists p
on a list of zero or one element:
exists p None is false,exists p (Some v) is p v.val is_none : 'a option -> boolis_none o is true if and only if o is None.
val is_some : 'a option -> boolis_some o is true if and only if o is Some o.
val equal : ('a -> 'a -> bool) -> 'a option -> 'a option -> boolequal eq o0 o1 is true if and only if 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.
module Syntax:sig..end
Binding operators.