package preface
Module Preface_stdlib.OptionSource
Implementation for Option.t.
Option.t allows to explicitly describe the presence (Some x) or absence (None) of a value. This allows, among other things, the transformation of partial functions into total functions, and forces the explicit handling of the case where None is returned.
Type
Implementation
The set of concrete implementations for Option.t.
Functor
module Functor : Preface_specs.FUNCTOR with type 'a t = 'a tApplicative
Option.t implements Preface_specs.APPLICATIVE and introduces an interface to define Preface_specs.TRAVERSABLE using Option as an iterable structure.
module Applicative :
Preface_specs.Traversable.API_OVER_APPLICATIVE with type 'a t = 'a tAlternative
module Alternative : Preface_specs.ALTERNATIVE with type 'a t = 'a tSelective
module Selective : Preface_specs.SELECTIVE with type 'a t = 'a tMonad
Option.t implements Preface_specs.MONAD and introduces an interface to define Preface_specs.TRAVERSABLE using Option as an iterable structure.
module Monad : Preface_specs.Traversable.API_OVER_MONAD with type 'a t = 'a tMonad Plus
module Monad_plus : Preface_specs.MONAD_PLUS with type 'a t = 'a tFoldable
module Foldable : Preface_specs.FOLDABLE with type 'a t = 'a tInvariant Functor
module Invariant : Preface_specs.INVARIANT with type 'a t = 'a tMonoid
Option is the Free monoid over a semigroup so wrapping a Preface_specs.SEMIGROUP into an Option gives us a Preface_specs.MONOID with None as a neutral element.
Additional functions
Additional functions to facilitate practical work with Option.t.
Formatter for pretty-printing for Option.t.
Producing Option
is_ p x produces Some x if p x is true, otherwise, it produces None.
is_ p x produces Some x if p x is false, otherwise, it produces None.