Common.Foldable
This module follows the Jane Street organisation and naming conventions for 'standard interfaces' i.e. commonly used signatures; briefly:
Basic
defines the _minimal_ set of type and function signatures that a user must provideS
defines the _complete_ set of type and functions signatures that will be exposed by any module supporting the standard interface
associated with S
Make
is a functor (i.e. a function from module to module) that takes the user supplied Basic
module and returns a completed module with the signature defined by S
Where a standard interface is defined for difference arities of type constructors, the convention is to append the arity to the names of the signatures and functors e.g. Basic2
, S2
and Make2
module type Basic = sig ... end
The Basic
definition for type constructors with a single type variable.
module type S = sig ... end
The complete module signature for Foldable
for types with a single type variable.
module type Basic2 = sig ... end
The Basic
definition for type constructors with two type variables.
module type S2 = sig ... end
The complete module signature for Foldable
for types with a single type variable.