Free_monad.CORE
The Free Monad API without the Preface_specs.Monad API.
Free Monad
Preface_specs.Monad
type 'a f
The type held by the Preface_specs.Functor.
Preface_specs.Functor
type 'a t =
| Return of 'a
| Bind of 'a t f
The type held by the Free monad.
Free monad
val perform : 'a f -> 'a t
Create a new 'a t from a 'a f.
'a t
'a f
val run : ('a f -> 'a) -> 'a t -> 'a
Execute a given handler for given data
module To_monad (Monad : Monad.CORE) : TO_MONAD with type 'a t := 'a t and type 'a f := 'a f and type 'a monad := 'a Monad.t