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.

Extensions

As is often the case, we define the extension signatures in a separate file.

include module type of Monad_exts_intf
module type S = sig ... end

S contains extensions for a monad.

module Extend (M : Base.Monad.S) : S with type 'a t := 'a M.t

Extend creates extensions for a Monad.S.

Miscellaneous

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.S1 with type 'a t := 'a M.t

Converts a monad to a mappable over M.map.