bluefin-0.7.0.1: The Bluefin effect system
Safe HaskellSafe-Inferred
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

type Ask = Reader #

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 => 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 #