bluefin-0.7.0.1: The Bluefin effect system
Safe HaskellNone
LanguageHaskell2010

Bluefin.Reader

Description

This is an old interface and will be deprecated in the future. You are encouraged to use Bluefin.Capability.Ask instead.

Synopsis

Documentation

Reader is Bluefin's version of the Control.Monad.Trans.Reader monad. local allows you to locally override the value in the Reader capability 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 .

Handle

data Reader r (e :: Effects) #

Instances

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

Defined in Bluefin.Internal

Methods

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

Handle (Reader r) 
Instance details

Defined in Bluefin.Internal

Methods

handleImpl :: HandleD (Reader r) #

CloneableHandle (Reader r) 
Instance details

Defined in Bluefin.Internal.CloneableHandle

Methods

cloneableHandleImpl :: CloneableHandleD (Reader r)

Handlers

runReader :: forall r (es :: Effects) a. r -> (forall (e :: Effects). Reader 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 #