package containers
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=1e7992cb2e59c0d2290d1b6c3a31531b3f310be6170b8ef3dde17ccd876b5b79
sha512=bb124e69ad0690f88393e18eee499be07761e767593558867aab32f643466b43258ced503170b154ca3b56dbd68987abd6d9438cf473707ec9866511589a5b84
doc/containers/CCOpt/index.html
Module CCOptSource
Previous Option module
include module type of CCOption
map f o applies the function f to the element inside o, if any.
map_or ~default f o is f x if o = Some x, default otherwise.
map_lazy default_fn f o is f x if o = Some x, default_fn () otherwise.
compare comp o1 o2 compares two options o1 and o2, using custom comparators comp for the value. None is always assumed to be less than Some _.
equal p o1 o2 tests for equality between option types o1 and o2, using a custom equality predicate p.
flat_map_l f o is [] if o is None, or f x if o is Some x.
bind o f is f v if o is Some v, None otherwise. Monadic bind.
Kleisli composition. Monadic equivalent of CCFun.compose
map2 f o1 o2 maps 'a option and 'b option to a 'c option using f.
fold f init o is f init x if o is Some x, or init if o is None. Fold on 0 or 1 element.
filter f o returns Some x if o is Some x and f x is true, or None if f x is false or if o is None. Filter on 0 or 1 element.
if_ f x is Some x if f x, None otherwise.
exists f o returns true iff there exists an element for which the provided function f evaluates to true.
for_all f o returns true iff the provided function f evaluates to true for all elements.
get_or ~default o extracts the value from o, or returns default if o is None.
apply_or f x returns the original x if f fails, or unwraps f x if it succeeds. Useful for piping preprocessing functions together (such as string processing), turning functions like "remove" into "remove_if_it_exists".
value o ~default is similar to the Stdlib's Option.value and to get_or.
get_exn_or msg o returns x if o is Some x or fails with Invalid_argument msg if o is None.
get_lazy default_fn o unwraps o, but if o is None it returns default_fn () instead.
sequence_l [x1; x2; …; xn] returns Some [y1; y2; …; yn] if every xi is Some yi. Otherwise, if the list contains at least one None, the result is None.
wrap ?handler f x calls f x and returns Some y if f x = y. If f x raises any exception, the result is None. This can be useful to wrap functions such as Map.S.find.
wrap2 ?handler f x y is similar to wrap but for binary functions.
Applicative
Alternatives
or_lazy ~else_ o is o if o is Some _, else_ () if o is None.
choice lo returns the first non-None element of the list lo, or None.
return_if b x applies Some or None depending on the boolean b. More precisely, return_if false x is None, and return_if true x is Some x.
Infix Operators
include module type of Infix
f <*> o returns Some (f x) if o is Some x and None if o is None.
Conversion and IO
to_list o returns [x] if o is Some x or the empty list [] if o is None.
of_list l returns Some x (x being the head of the list l), or None if l is the empty list.
to_result e o returns Ok x if o is Some x, or Error e if o is None.
to_result_lazy f o returns Ok x if o is Some x or Error f if o is None.
choice_iter iter is similar to choice, but works on iter. It returns the first Some x occurring in iter, or None otherwise.
choice_seq seq works on Seq.t. It returns the first Some x occurring in seq, or None otherwise.
to_gen o is o as a gen. Some x is the singleton gen containing x and None is the empty gen.
to_seq o is o as a sequence Seq.t. Some x is the singleton sequence containing x and None is the empty sequence. Same as Stdlib.Option.to_seq Renamed from to_std_seq since 3.0.
to_iter o returns an internal iterator, like in the library Iter.