| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Bluefin.Capability.Ask
Synopsis
- data Ask r (e :: Effects)
- 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 => Ask r e -> Eff es r
- asks :: forall (e :: Effects) (es :: Effects) r a. e <: es => Ask r e -> (r -> a) -> Eff es a
- local :: forall (e1 :: Effects) (es :: Effects) r a. e1 <: es => Ask 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
Instances
| e <: es => OneWayCoercible (Ask r e :: Type) (Ask r es :: Type) | |
Defined in Bluefin.Internal Methods oneWayCoercibleImpl :: OneWayCoercibleD (Ask r e) (Ask r es) # | |
| Handle (Ask r) | |
Defined in Bluefin.Internal Methods handleImpl :: HandleD (Ask r) # | |
| CloneableHandle (Ask r) | |
Defined in Bluefin.Internal.CloneableHandle Methods cloneableHandleImpl :: CloneableHandleD (Ask r) | |
Handlers
runAsk :: forall r (es :: Effects) a. r -> (forall (e :: Effects). Ask r e -> Eff (e :& es) a) -> Eff es a #