package orsetto

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
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.

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.

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.