freer-0.2.4.1: Implementation of the Freer Monad

CopyrightAllele Dev 2016
LicenseBSD-3
Maintainerallele.dev@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