Indexed_apply.Over_functor_via_product
module Req :
Preface_specs.Indexed_apply.WITH_PRODUCT
with type ('a, 'index) t = ('a, 'index) Functor.t
type ('a, 'index) t = ('a, 'index) Req.t
The type held by the Indexed Apply
.
May apply a function wrapped into an t
to a value also wrapped into an t
.
Monoidal product between two t
.
Lift a binary function that acts on arbitrary values into a function that acts t
values.
val lift3 :
('a -> 'b -> 'c -> 'd) ->
('a, 'index) t ->
('b, 'index) t ->
('c, 'index) t ->
('d, 'index) 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
.
Create a new t
, replacing all values in the given functor by unit
.
module Infix :
Preface_specs.Indexed_apply.INFIX with type ('a, 'index) t := ('a, 'index) t
Applicative
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
.
Discard the value of the first argument.
Discard the value of the second argument.
Infix version of CORE
.map.
Flipped and infix version of CORE
.map.
Flipped and infix version of OPERATION
.replace.
module Syntax :
Preface_specs.Indexed_apply.SYNTAX with type ('a, 'index) t := ('a, 'index) t