monads

A missing monad library
IN THIS PACKAGE
Parameter #1 Monads . Std . Monad . Result . T2 . M . Collection . Eager . T
include Collection.Basic
type 'a t

x t a container that hold values of type x

val return : 'a -> 'a t

return x creates a singleton container holding x

include Plus.S with type 'a t := 'a t
val zero : unit -> 'a t

zero () constructs a zero element

val plus : 'a t -> 'a t -> 'a t

plus x y an associative operation.

val fold : 'a t -> init:'s -> f:( 's -> 'a -> 's ) -> 's

fold implementation