Module Relude_Interface
module type TYPE_ANY = { ... };
Module type signature for a type constructor with a single type hole.
module type FUNCTION_1 = { ... };
Module type which captures a simple a => b function
module type FUNCTION_1_F = (A: BsBastet.Interface.TYPE) => (B: BsBastet.Interface.TYPE) => FUNCTION_1 with type a = A.t and type b = B.t;
Module type functor which captures a simple a => b function
module type NATURAL_TRANSFORMATION = { ... };
Captures a natural tranformation
module type SEQUENCE = { ... };
Module type signature for a module that represents a sequence of values and related functions.
module type ISO_ARRAY = { ... };
Module type signature for a module that is isomorphic with an array
module type ISO_LIST = { ... };
Module type signature for a module that is isomorphic with a list
module type SEMIALIGN = { ... };
Module type signature for Ior-based zipping and unzipping
module type ALIGN = { ... };
Module type signature for an extension of ALIGN that adds an empty
nil
value.
module type MONAD_THROW = { ... };
Module type signature for a Monad that can produce an error in a monadic context
module type MONAD_ERROR = { ... };
Module type signature for a Monad that can handle an error by creating a new monadic value.
module type LOWER_BOUNDED = { ... };
Represents types that have a lower bound, like strings or positive ints
module type UPPER_BOUNDED = { ... };
Represents types that have an upper bound
module type ENUM = { ... };
Module type which describes a type that can be ordered and for which we can determine a lawful chain of successors and predecessors
module type BOUNDED_ENUM = { ... };
Module type which describes a type that can be ordered and for which we can determine a lawful chain of successors and predecessors, and there is a top and bottom bound.