Preface_make.ContravariantBuilding a Preface_specs.Contravariant
Build a Preface_specs.CONTRAVARIANT using Preface_specs.Contravariant.WITH_CONTRAMAP.
Standard method, using the minimal definition of a contravariant functor to derive its full API.
module Via_contramap
(Req : Preface_specs.Contravariant.WITH_CONTRAMAP) :
Preface_specs.CONTRAVARIANT with type 'a t = 'a Req.tConstruction of Preface_specs.CONTRAVARIANT by combining them.
Construction of Preface_specs.CONTRAVARIANT by left-to-right composition with Preface_specs.FUNCTOR.
module Composition
(F : Preface_specs.FUNCTOR)
(G : Preface_specs.CONTRAVARIANT) :
Preface_specs.CONTRAVARIANT with type 'a t = 'a G.t F.tAdvanced way to build a Preface_specs.CONTRAVARIANT, constructing and assembling a component-by-component of Preface_specs.CONTRAVARIANT. (In order to provide your own implementation for some features.)
module Via
(Core : Preface_specs.Contravariant.CORE)
(Operation :
Preface_specs.Contravariant.OPERATION with type 'a t = 'a Core.t)
(Infix : Preface_specs.Contravariant.INFIX with type 'a t = 'a Operation.t) :
Preface_specs.CONTRAVARIANT with type 'a t = 'a Infix.tmodule Core
(Req : Preface_specs.Contravariant.WITH_CONTRAMAP) :
Preface_specs.Contravariant.CORE with type 'a t = 'a Req.tmodule Operation
(Core : Preface_specs.Contravariant.CORE) :
Preface_specs.Contravariant.OPERATION with type 'a t = 'a Core.tmodule Infix
(Core : Preface_specs.Contravariant.CORE)
(Operation :
Preface_specs.Contravariant.OPERATION with type 'a t = 'a Core.t) :
Preface_specs.Contravariant.INFIX with type 'a t = 'a Operation.t