Module Preface_specs.Arrow_plus

An Arrow_plus is the conjonction of an Arrow_zero and Arrow_alt. An Arrow_plus is a kind of Monoid in the arrow hierarchy. And it also an Arrow_alt and an Arrow_zero (which is also a Arrow).

Laws

To have a predictable behaviour, the instance of Arrow_plus must obey some laws.

  1. All Arrow_alt laws

Structure anatomy

module type WITH_COMBINE_AND_NEUTRAL = sig ... end

Exposes the neutral value and combine function, mandatory for each requirement.

module type WITH_ARROW_AND_FST = sig ... end

RMinimal definition using arrow, fst, neutral and combine.

module type WITH_ARROW_AND_SPLIT = sig ... end

Minimal definition using arrow, split, neutral and combine.

Structure anatomy

module type CORE = sig ... end

Basis operations.

module type OPERATION = sig ... end

Additional operations.

module type ALIAS = Arrow.ALIAS

Aliases of some operations functions.

module type INFIX = Arrow_alt.INFIX

Infix operators.

Complete API

module type API = sig ... end

The complete interface of an Arrow_plus.

Additional references