lux/codata/env
Types
Env
Computations that have access to some environmental value.
(type: (Env r a)
(-> r a))
Structs
Applicative<Env>
(All [a] (lux/control/applicative;Applicative (Env a)))
(EnvT Monad<M>)
Monad transformer for Env.
(All [a] (-> (lux/control/monad;Monad a) (All [b] (lux/control/monad;Monad (All [c] (Env b (a c)))))))
Functor<Env>
(All [a] (lux/control/functor;Functor (Env a)))
Monad<Env>
(All [a] (lux/control/monad;Monad (Env a)))
Values
ask
Get the environment.
(All [a] (Env a a))
lift-env
Lift monadic values to the Env wrapper.
(All [a b c] (-> (a c) (Env b (a c))))
(local change env-proc)
Run computation with a locally-modified environment.
(All [a b] (-> (-> a a) (Env a b) (Env a b)))
(run env env-proc)
(All [a b] (-> a (Env a b) b))