Preface_specs.Arrow_zero
An Arrow
with a neutral
element. So Arrow_zero
is also an Arrow
.
To have a predictable behaviour, the instance of Arrow_zero
must obey some laws.
Arrow
lawsmodule type WITH_NEUTRAL = sig ... end
Exposes the neutral
value, mandatory for each requirement.
module type WITH_ARROW_AND_FST = sig ... end
Minimal definition using arrow
, fst
and neutral
.
module type WITH_ARROW_AND_SPLIT = sig ... end
Minimal definition using arrow
, split
and neutral
.
module type CORE = sig ... end
Basis operations.
module type OPERATION = Arrow.OPERATION
Additional operations.
module type ALIAS = Arrow.ALIAS
Aliases of some operations functions.
module type INFIX = Arrow.INFIX
Infix operators.
module type API = sig ... end
The complete interface of an Arrow_zero
.