jon.recoil.org

Module Stdlib.Monad

module type Basic2 = sig ... end

Multi parameter monad. The second parameter gets unified across all the computation. This is used to encode monads working on a multi parameter data structure like (('a,'b) result).

module type Basic = sig ... end
module type S2 = sig ... end
module type S = sig ... end
module Make (X : Misc.Stdlib.Monad.Basic) : Misc.Stdlib.Monad.S with type 'a t = 'a X.t
module Make2 (X : Misc.Stdlib.Monad.Basic2) : Misc.Stdlib.Monad.S2 with type ('a, 'e) t = ('a, 'e) X.t
module Identity : Misc.Stdlib.Monad.S with type 'a t = 'a
module Option : Misc.Stdlib.Monad.S with type 'a t = 'a option
module Result : Misc.Stdlib.Monad.S2 with type ('a, 'e) t = ('a, 'e) Stdlib.result