Library
Module
Module type
Parameter
Class
Class type
Search Monad.
A monad for searching with abnormal exit, i.e., the computation terminates as soon as an item is found.
include Monads.Std.Monad.S2
sequence xs
computes a sequence of computations xs
in the left to right order.
module Fn : sig ... end
Various function combinators lifted into the Kleisli category.
module Pair : sig ... end
The pair interface lifted into the monad.
module Triple : sig ... end
The triple interface lifted into a monad.
module Lift : sig ... end
Lifts functions into the monad.
module Exn : sig ... end
Interacting between monads and language exceptions
module Collection : sig ... end
Lifts collection interface into the monad.
module List : Collection.S with type 'a t := 'a list
The Monad.Collection.S2 interface for lists
module Seq : Collection.S with type 'a t := 'a Core_kernel.Sequence.t
The Monad.Collection.S2 interface for sequences
include Monads.Std.Monad.Syntax.S2 with type ('a, 'e) t := ('a, 'e) t
f >=> g
is fun x -> f x >>= g
val (!!) : 'a -> ('a, 'e) t
!!x
is return x
!$$$f
is Lift.ternary f
include Core_kernel.Monad.S2 with type ('a, 'e) t := ('a, 'e) t
module Let_syntax : sig ... end
module Monad_infix : sig ... end
val return : 'a -> ('a, _) t
module Syntax : Monads.Std.Monad.Syntax.S2 with type ('a, 'e) t := ('a, 'e) t
Monadic operators, see Monad.Syntax.S2 for more.
val finished : 'e -> ('a, 'e) t
finished needle
is called when a search is finished, it will terminate the search with the needle
as a result.
val result : ('a, 'e) t -> 'e option
result s
runs the computation s
and extracts the result.