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))