Comonad.API
The complete interface of a Comonad
.
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 : Indexed_comonad.INFIX with type ('a, 'index) t := 'a t
Infix flipped version of CORE.extend
.
Infix version of CORE.extend
.
Infix version of CORE.compose_left_to_right
.
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
.
Infix version of OPERATION.replace
.
Flipped and infix version of OPERATION.replace
.
module Syntax : 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 Indexed_functor.SYNTAX with type ('a, 'index) t := 'a t