| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Bluefin.Capability.Ask
Synopsis
- type Ask = Reader
- runAsk :: forall r (es :: Effects) a. r -> (forall (e :: Effects). Ask r e -> Eff (e :& es) a) -> Eff es a
- ask :: forall (e :: Effects) (es :: Effects) r. e <: es => Reader r e -> Eff es r
- asks :: forall (e :: Effects) (es :: Effects) r a. e <: es => Reader r e -> (r -> a) -> Eff es a
- local :: forall (e1 :: Effects) (es :: Effects) r a. e1 <: es => Reader r e1 -> (r -> r) -> Eff es a -> Eff es a
Documentation
Ask is Bluefin's version of the
Control.Monad.Trans.Reader monad. local allows you to
locally override the asked value in a well-scoped way. The
original value will be restored when you exit the local block
regardless of whether the exit was normal or via an exception.
Capability
Handlers
runAsk :: forall r (es :: Effects) a. r -> (forall (e :: Effects). Ask r e -> Eff (e :& es) a) -> Eff es a #