Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Common module types like ANY, SORTABLE, ...
module type ANY = sig ... end
Can be any type.
module type SORTABLE = sig ... end
A sortable type is a type with a comparison function.
module type FUNCTOR = sig ... end
A functor is an abstract container which is mappable
module type APPLICATIVE = sig ... end
An applicative functor is an abstract container which is mapable and if it has functions in it the functios can be applied.
module type MONAD = sig ... end
A monad is an applicative functor with a bind >>=
operator.
module type READABLE = sig ... end
Readable structure
module type WRITABLE = sig ... end
Writable structure