package preface
Module Free_applicative.Over_applicative
Parameters
module A : Preface_specs.Applicative.CORESignature
include Preface_specs.FREE_APPLICATIVE with type 'a f = 'a A.t
type 'a f = 'a A.tThe type held by the Preface_specs.Functor.
The type held by the Free applicative.
Promote a value from the Preface_specs.Functor into the Free applicative.
module To_applicative
(Applicative : Preface_specs.Applicative.CORE) :
Preface_specs.Free_applicative.TO_APPLICATIVE
with type 'a t := 'a t
and type 'a f := 'a f
and type 'a applicative := 'a Applicative.tThe natural transformation from a Free applicative to an other Preface_specs.Applicative.
module To_monoid
(Monoid : Preface_specs.Monoid.CORE) :
Preface_specs.Free_applicative.TO_MONOID
with type 'a t := 'a t
and type 'a f := 'a f
and type monoid := Monoid.tThe natural transformation from a Free applicative to a Preface_specs.Monoid.
Applicative API
A Free applicative is also an Preface_specs.Applicative.
Type
Type
Functions
include Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := 'a t
include Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := 'a t
include Preface_specs.Indexed_apply.WITH_MAP_AND_PRODUCT
with type ('a, 'index) t := 'a t
include Preface_specs.Indexed_functor.WITH_MAP with type ('a, 'index) t := 'a t
include Preface_specs.Indexed_applicative.WITH_PURE
with type ('a, 'index) t := 'a t
val pure : 'a -> 'a tLift a value from 'a into a new t.
Lift a ternary function that acts on arbitrary values into a function that acts t values.
Create a new t, replacing all values of the given functor by given a value of 'a.
Infix operators
module Infix :
Preface_specs.Indexed_applicative.INFIX with type ('a, 'index) t := 'a tApplicative functor of ('a -> 'b) t over ('a, 'index) t to ('b, 'index) t.
Flipped Applicative functor of ('a -> 'b) t over ('a, 'index) t to ('b, 'index) t.
Infix version of CORE.map.
Flipped and infix version of CORE.map.
Flipped and infix version of OPERATION.replace.
Syntax
module Syntax :
Preface_specs.Indexed_applicative.SYNTAX with type ('a, 'index) t := 'a t