bluefin-0.10.0.0: The Bluefin effect system
Safe HaskellNone
LanguageHaskell2010

Bluefin.Capability.Ask

Synopsis

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

data Ask r (e :: Effects) #

Instances

Instances details
e <: es => OneWayCoercible (Ask r e :: Type) (Ask r es :: Type) 
Instance details

Defined in Bluefin.Internal

Methods

oneWayCoercibleImpl :: OneWayCoercibleD (Ask r e) (Ask r es) #

Handle (Ask r) 
Instance details

Defined in Bluefin.Internal

Methods

handleImpl :: HandleD (Ask r) #

CloneableHandle (Ask r) 
Instance details

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 #

Effectful operations

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 #