freer-0.2.2.5: Implementation of the Freer Monad

CopyrightAlej Cabrera 2015
LicenseBSD-3
Maintainercpp.cabrera@gmail.com
Stabilityexperimental
PortabilityPOSIX
Safe HaskellNone
LanguageHaskell2010

Control.Monad.Freer.StateRW

Description

Composable handler for State effects in terms of Reader/Writer effects. This module is more a tutorial on how to compose handlers. It is slightly slower than a dedicated State handler.

Using http://okmij.org/ftp/Haskell/extensible/Eff1.hs as a starting point.

Synopsis

Documentation

runStateR :: Eff (Writer s : (Reader s : r)) w -> s -> Eff r (w, s) Source

State handler, using Reader/Writer effects

data Reader e v Source

data Writer o x Source

Writer effects - send outputs to an effect environment

tell :: Member (Writer o) r => o -> Eff r () Source

Send a change to the attached environment

ask :: Member (Reader e) r => Eff r e Source

Request a value for the environment