orsetto.cf
Create.B
orsetto.cbor
orsetto.json
orsetto.ucs
type ('m, +'r) t
The abstract type of monad with two parameters, a phantom type and a return type.
val return : 'r -> ('m, 'r) t
Define return a to apply a to the bound function.
return a
a
val bind : ('m, 'a) t -> ('a -> ('m, 'b) t) -> ('m, 'b) t
Define bind m f to apply the value returned by m to the function f to obtain the result monad.
bind m f
m
f
val mapping : [ `Default | `Special of ('m, 'a) t -> f:('a -> 'b) -> ('m, 'b) t ]
Define mapping to define the `map` operator either as the default fun a -> return (f a) or as some other special map function.
mapping
fun a -> return (f a)