module Option:Functions for the Option type.sig..end
val is_some : 'a option -> bool
is_some (Some x)not (is_some None)val is_none : 'a option -> bool
not (is_none (Some x))is_none Noneval value : 'a option -> 'aInvalid_argument when applied to None.
value (Some x) = xval default : 'a -> 'a option -> 'a
default d (Some x) = xdefault d None = dval classify : ('a -> bool) -> 'a -> 'a option
p x = (classify p x = Some x)not (p x) = (classify p x = None)val perform : ('a -> unit) -> 'a option -> unit
apply c (Some x) does c x, while apply f None does
nothing.
val map : ('a -> 'b) -> 'a option -> 'b option
map f (Some x) = Some (f x)map f None = Noneval filter : ('a -> bool) -> 'a option -> 'a option
filter p (Some x) is Some x when p x holds and None
otherwise, while filter p None is None.
val flatten : 'a option option -> 'a option
flatten (Some x) = xFlatten None = None