Module type Monads.Std.Monad.S

module type S = sig .. end
An unary monad interface.

type 'a t 
val void : 'a t -> unit t
void m computes m and discrards the result.
val sequence : unit t list -> unit t
sequence xs computes a sequence of computations xs in the left to right order.
val forever : 'a t -> 'b t
forever xs creates a computationt that never returns.
module Fn: sig .. end
Various function combinators lifted into the Kleisli category.
module Pair: sig .. end
The pair interface lifted into the monad.
module Triple: sig .. end
The triple interface lifted into a monad.
module Lift: sig .. end
Lifts functions into the monad.
module Exn: sig .. end
Interacting between monads and language exceptions
module Collection: sig .. end
Lifts collection interface into the monad.
module List: Collection.S  with type 'a t := 'a list
The Monad.Collection.S interface for lists
module Seq: Collection.S  with type 'a t := 'a Sequence.t
The Monad.Collection.S interface for sequences
include Monads.Std.Monad.Syntax.S
include Monad.S
module Syntax: Std.Monad.Syntax.S  with type 'a t := 'a t
Monadic operators, see Monad.Syntax.S for more.