preface

An opinionated library for function programming (à La Haskell)
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library preface.specs
type 'a t

The type held by the Monad.

include WITH_RETURN with type 'a t := 'a t
val return : 'a -> 'a t

Lift a value from 'a into a new 'a t.

include Bind.WITH_MAP_AND_JOIN with type 'a t := 'a t
val map : ( 'a -> 'b ) -> 'a t -> 'b t

Mapping over from 'a to 'b over 'a t to 'b t.

val join : 'a t t -> 'a t

join remove one level of monadic structure, projecting its bound argument into the outer level.