package spotlib

  1. Overview
  2. Docs
include module type of struct include Monad_intf end
module type S2 = Monad_intf.S2

Minimum monad signature with an additional type parameter 'z

module type Infix2 = Monad_intf.Infix2

Infix name space for S2

module type EX2 = Monad_intf.EX2

Extension of S2

module type T2 = Monad_intf.T2

The final unified Monad API for S2

module type S1 = Monad_intf.S1
module type Infix1 = Monad_intf.Infix1

Infix name space for S1

module type EX1 = Monad_intf.EX1

Extension of S1

module type T1 = Monad_intf.T1

The final unified Monad API for S1

module type S = Monad_intf.S
module type T = Monad_intf.T
module type EX = Monad_intf.EX
module type Infix = Monad_intf.Infix
module Make1 (M : S1) : T1 with type 'a t := 'a M.t

Build a full Monad interface of T1 from the minimum specification of S1. Note that it only builds functions. The type is not exported.

module Make (M : S1) : T1 with type 'a t := 'a M.t

Synonym of Make1

module Make2 (M : S2) : T2 with type ('a, 'z) t := ('a, 'z) M.t

Build a full Monad interface of data type with 2 parameters, T2, from the minimum specification of S2. Note that it only builds functions. The type is not exported.