Store.Over_comonad
module C : Preface_specs.COMONAD
module Store : Preface_specs.Types.T0
type store = Store.t
The encapsulated store.
type 'a comonad = 'a C.t
The inner comonad.
Get the current focus for a different modified stored value (absolute setter).
Modify (set and apply a function) the focus (relative setter).
module Experiment (F : Preface_specs.Functor.API) : sig ... end
Applies a function which lift the store to a functor-value and use the accessor to read the resulting focus.
module Comonad : Preface_specs.Comonad.API
val extract : 'a t -> 'a
Extract a 'a
from t
. Dual of return.
Composing monadic functions using Co-Kleisli Arrow (from left to right).
Lift a binary function that acts on arbitrary values into a function that acts t
values.
Lift a ternary function that acts on arbitrary values into a function that acts t
values.
Composing co-monadic functions using Co-Kleisli Arrow (from right to left).
Create a new t
, replacing all values of the given functor by given a value of 'a
.
module Infix :
Preface_specs.Indexed_comonad.INFIX with type ('a, 'index) t := 'a t
Infix version of OPERATION
.compose_right_to_left.
Applicative functor of ('a -> 'b) t
over ('a, 'index) t
to ('b, 'index) t
.
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.
module Syntax :
Preface_specs.Indexed_comonad.SYNTAX with type ('a, 'index) t := 'a t
Syntactic shortcuts for version of CORE
.extend:
let@ x = e in f
is equals to extend f e
.
include Preface_specs.Indexed_functor.SYNTAX with type ('a, 'index) t := 'a t