Travesty.Monad_exts
Generic monad extensions.
Monad_exts
contains a signature and functor for adding various extensions to Base
-style monads.
For input and output module signatures for this module's functors, see Filter_mappable_types
.
module Let (M : Base.Monad.S) : Monad_exts_types.S_let with type 'a t := 'a M.t
Let
implements OCaml 4.08 let bindings for Base monads.
module Extend (M : Base.Monad.S) : Monad_exts_types.S with type 'a t := 'a M.t
Extend
creates extensions for a Monad.S
.
module App (M : Base.Monad.S) : Base.Applicative.S with type 'a t = 'a M.t
Like Base.Applicative.Of_monad
, but retains the type.
Demotes an arity-2 monad M
to an arity-1 one, fixing its second type to be B.t
.
module To_mappable
(M : Base.Monad.S) :
Mappable_types.S1 with type 'a t := 'a M.t
Converts a monad to a mappable over M.map
.