Module GapiMonad
Defines the monad interface and provides implementations of some monads.
module type Monad = sig ... endmodule type MonadCombinators = sig ... endmodule MakeMonadCombinators : functor (M : Monad) -> MonadCombinators with type 'a m = 'a M.tmodule type StateMonad = sig ... endmodule MakeStateMonad : functor (T : sig ... end) -> StateMonad with type 'a t = T.s -> 'a * T.smodule SessionM : sig ... endmodule type ListMonad = sig ... endmodule ListM : sig ... end