package olmi
Library
Module
Module type
Parameter
Class
Class type
This module provides all interfaces using for the functors.
Monadics operation could be generated with two ways : using an interface with a parametrized type, return and bind. Or using an interface with a parametrized type, return, join and fmap. A lot of those function's description come from the Haskell documentation
module type COMMON = sig ... end
The common API for creating a Monad
module type BIND = sig ... end
Describe the minimal interface for making a monad with bind function. This module could be used by OmlMonad.Make.WithBind to generate a BASIC_INTERFACE Module, for example.
module type JOIN = sig ... end
Describe the minimal interface for making a monad with join function. This module could be used by OmlMonad.Make.WithJoin to generate a BASIC_INTERFACE Module, for example.
module type BASIC_INTERFACE = sig ... end
Describe a conjunction between join and bin. This module could be used by OmlMonad.Make.Base to generate a BASIC_INTERFACE Module, for example.
module type INFIX = sig ... end
Provide the signatures of all infix operators (linked to a Monad)
module type LIFT = sig ... end
Provide interface for the lift operations
module type INTERFACE = sig ... end
Provide the complete interface of monadic operations
module type PLUS = sig ... end
Provide the minimal interface for a Monad Plus
module type PLUS_INTERFACE = sig ... end
Provide a complete interface for Monad plus