package octez-proto-libs
Option values.
Option values explicitly indicate the presence or absence of a value.
Options
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
.
Predicates and comparisons
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.
Converting
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.