Minilib.Comonad.Env
Defined in minilib-comonad@0.5.1
Env comonad. (a.k.a CoReader comonad)
For details, see blog post: The Reader and Writer Monads and Comonads.
Values
namespace Minilib.Comonad.Env::Env
env
Type: e -> a -> Minilib.Comonad.Env::Env e a
Creates an env comonad from an enviroment and a value.
env_t
Type: [w : Minilib.Trait.Comonad::Comonad] e -> w a -> Minilib.Comonad.Env::EnvT e w a
Creates a generic env comonad from an enviroment and a value.
get_env
Type: [w : Minilib.Trait.Comonad::Comonad] Minilib.Comonad.Env::EnvT e w a -> e
Gets the envirionment from an env comonad.
get_value
Type: [w : Minilib.Trait.Comonad::Comonad] Minilib.Comonad.Env::EnvT e w a -> a
Gets the value from an env comonad.
to_tuple
Type: [w : Minilib.Trait.Comonad::Comonad] Minilib.Comonad.Env::EnvT e w a -> (e, a)
Converts a env comonad to a pair of an enviroment and a value.
Types and aliases
namespace Minilib.Comonad.Env
Env
Defined as: type Env e a = Minilib.Comonad.Env::EnvT e Minilib.Comonad.IdentityC::IdentityC a
EnvT
Defined as: type [w : *->*] EnvT e w a = unbox struct { ...fields... }
Env comonad wraps a pair of an environment and a value.
e
is a type of an environment.
w
is a type of an underlyind comonad.
a
is a type of a value.
field env
Type: e
field value
Type: w a