Module Preface_make.Foldable

Building a Preface_specs.Foldable

Using the minimal definition

Using fold_map

Build a Preface_specs.FOLDABLE using Preface_specs.Foldable.WITH_FOLD_MAP.

Standard method, using the minimal definition of an alt to derive its full API.

Using fold_right

Build a Preface_specs.FOLDABLE using Preface_specs.Foldable.WITH_FOLD_RIGHT.

Standard method, using the minimal definition of an alt to derive its full API.

Monad Algebra

Construction of Preface_specs.FOLDABLE by combining them.

Composition

Right-to-left composition of Preface_specs.FOLDABLE.

Sum

Sum of Preface_specs.FOLDABLE using the technique described in Data types à la carte by W. Swierstra.

module Sum (F : Preface_specs.FOLDABLE) (G : Preface_specs.FOLDABLE) : sig ... end

Product

Construct the product of two Preface_specs.FOLDABLE.

To other abstraction

To an Indexed Foldable

module Index (F : Preface_specs.FOLDABLE) : Preface_specs.INDEXED_FOLDABLE with type ('a, 'index) t = 'a F.t

Manual construction

Advanced way to build a Preface_specs.FOLDABLE, constructing and assembling a component-by-component of Preface_specs.FOLDABLE. (In order to provide your own implementation for some features.)

Grouping of all components

Building Core

Deriving Operation