Module Preface_make.Indexed_comonad

Building an Preface_specs.Indexed_comonad

Using the minimal definition

Using extract and extend

Build a Preface_specs.INDEXED_COMONAD using Preface_specs.Indexed_comonad.WITH_EXTEND.

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

Using extract, map and duplicate

Build a Preface_specs.INDEXED_COMONAD using Preface_specs.Indexed_comonad.WITH_MAP_AND_DUPLICATE.

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

Using extract and the cokleisli composition

Build a Preface_specs.INDEXED_COMONAD using Preface_specs.Indexed_comonad.WITH_COKLEISLI_COMPOSITION.

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

Manual construction

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

Grouping of all components

module Via (Core : Preface_specs.Indexed_comonad.CORE) (Operation : Preface_specs.Indexed_comonad.OPERATION with type ('a, 'index) t = ('a, 'index) Core.t) (Infix : Preface_specs.Indexed_comonad.INFIX with type ('a, 'index) t = ('a, 'index) Core.t) (Syntax : Preface_specs.Indexed_comonad.SYNTAX with type ('a, 'index) t = ('a, 'index) Core.t) : Preface_specs.INDEXED_COMONAD with type ('a, 'index) t = ('a, 'index) Core.t

Building Core

Deriving Operation

Deriving Syntax

Deriving Infix

module Infix (Core : Preface_specs.Indexed_comonad.CORE) (Operation : Preface_specs.Indexed_comonad.OPERATION with type ('a, 'index) t = ('a, 'index) Core.t) : Preface_specs.Indexed_comonad.INFIX with type ('a, 'index) t = ('a, 'index) Core.t