Make.Option
Option values.
Option values explicitly indicate the presence or absence of a value.
The type for option values. Either None
or a value Some v
.
value o ~default
is v
if o
is Some v
and default
otherwise.
bind o f
is f v
if o
is Some v
and None
if o
is None
.
join oo
is Some v
if oo
is Some (Some v)
and None
otherwise.
map f o
is None
if o
is None
and Some (f v)
is o
is Some v
.
fold ~none ~some o
is none
if o
is None
and some v
if o
is Some v
.
equal 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
.
compare 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) Pervasives.result
to_result ~none o
is Ok v
if o
is Some v
and Error none
otherwise.
First input of form Some x
, or None
if both are None
val pp :
?default:string ->
(Format.formatter -> 'a -> unit) ->
Format.formatter ->
'a option ->
unit
pp ~default pp fmt x
pretty-print value x
using pp
or default
("None"
by default) string if there is no value.