package smtml
Install
dune-project
Dependency
Authors
-
JJoão Pereira <joaomhmpereira@tecnico.ulisboa.pt>
-
FFilipe Marques <filipe.s.marques@tecnico.ulisboa.pt>
-
HHichem Rami Ait El Hara <hra@ocamlpro.com>
-
Rredianthus <redopam@pm.me>
-
AArthur Carcano <arthur.carcano@ocamlpro.com>
-
PPierre Chambart <pierre.chambart@ocamlpro.com>
-
JJosé Fragoso Santos <jose.fragoso@tecnico.ulisboa.pt>
Maintainers
Sources
md5=dccec4e664735d96f7d5e867f8c0841f
sha512=4e1586451c0e61dcae6bd46bb8fe899430b383c776dbf214cffcd6802449ee522f4658e2990ac1a1ad6f8e89f72a8d83ba0a40a7d33b2faaa9f8ae0c7a1d0c67
doc/smtml.prelude/Smtml_prelude/Option/index.html
Module Smtml_prelude.OptionSource
include module type of struct include Prelude.Option end
include module type of struct include Option end
Options
The type for option values. Either None or a value Some v.
none is None.
some v is 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) if o is Some v.
product o0 o1 is Some (v0, v1) if o0 is Some v0 and o1 is Some v1 and None otherwise.
fold ~none ~some o is none if o is None and some v if o is Some v.
iter f o is f v if o is Some v and () otherwise.
blend 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.
for_all p behaves like List.for_all p on a list of zero or one element:
for_all p Noneistrue,for_all p (Some v)isp v.
exists p behaves like List.exists p on a list of zero or one element:
exists p Noneisfalse,exists p (Some v)isp v.
Predicates and comparisons
is_none o is true if and only if o is None.
is_some o is true if and only if o is Some o.
equal 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.
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
to_result ~none o is Ok v if o is Some v and Error none otherwise.
to_list o is [] if o is None and [v] if o is Some v.
to_seq o is o as a sequence. None is the empty sequence and Some v is the singleton sequence containing v.