Module Machine.Collection

Lifts collection interface into the monad.

This module provides two functors that take a basic collection interface and provide the Monad.Collection.S interface.

See Monad.Collection for more information.

module type S = Monads.Std.Monad.Collection.S with type 'a m := 'a t
module Eager (T : Monads.Std.Monad.Collection.Eager) : S with type 'a t := 'a T.t

Eager(C) derives Monad.Collection.S for container C

module Delay (T : Monads.Std.Monad.Collection.Delay) : S with type 'a t := 'a T.t

Delay(C) derives Monad.Collection.S for container C