package travesty

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Generic monad extensions.

Monad_exts contains a signature and functor for adding various extensions to Base-style monads.

Signatures

For input and output module signatures for this module's functors, see Filter_mappable_types.

Extension functors

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.

Miscellaneous

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.

module S2_to_S (M : Base.Monad.S2) (B : Base.T) : Base.Monad.S with type 'a t := ('a, B.t) M.t

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.