Safe Haskell | None |
---|---|
Language | Haskell2010 |
Effectful.Labeled.Reader
Contents
Synopsis
- data Reader r (a :: Type -> Type) b where
- runReader :: forall {k} (label :: k) r (es :: [(Type -> Type) -> Type -> Type]) a. HasCallStack => r -> Eff (Labeled label (Reader r) ': es) a -> Eff es a
- ask :: forall {k} (label :: k) r (es :: [Effect]). (HasCallStack, Labeled label (Reader r) :> es) => Eff es r
- asks :: forall {k} (label :: k) r (es :: [Effect]) a. (HasCallStack, Labeled label (Reader r) :> es) => (r -> a) -> Eff es a
- local :: forall {k} (label :: k) r (es :: [Effect]) a. (HasCallStack, Labeled label (Reader r) :> es) => (r -> r) -> Eff es a -> Eff es a
Effect
data Reader r (a :: Type -> Type) b where Source #
Constructors
Ask :: forall r (a :: Type -> Type). Reader r a r | |
Local :: forall r (a :: Type -> Type) b. (r -> r) -> a b -> Reader r a b |
Instances
type DispatchOf (Reader r) Source # | |
Defined in Effectful.Reader.Dynamic |
Handlers
Arguments
:: forall {k} (label :: k) r (es :: [(Type -> Type) -> Type -> Type]) a. HasCallStack | |
=> r | The initial environment. |
-> Eff (Labeled label (Reader r) ': es) a | |
-> Eff es a |
Run the Reader
effect with the given initial environment (via
Effectful.Reader.Static).
Operations
ask :: forall {k} (label :: k) r (es :: [Effect]). (HasCallStack, Labeled label (Reader r) :> es) => Eff es r Source #
Fetch the value of the environment.