prob-fx-0.1.0.2: A library for modular probabilistic modelling
Safe HaskellNone
LanguageHaskell2010

Effects.State

Description

State effect.

Synopsis

Documentation

data State s a where Source #

The state effect

Constructors

Get :: State s s

Get the current state

Put :: s -> State s ()

Set the current state

get :: Member (State s) es => Prog es s Source #

Wrapper function for Get

put :: Member (State s) es => s -> Prog es () Source #

Wrapper function for Put

modify :: Member (State s) es => (s -> s) -> Prog es () Source #

Wrapper function for apply a function to the state

handleState Source #

Arguments

:: s

initial state

-> Prog (State s ': es) a 
-> Prog es (a, s)

(output, final state)

Handle the State s effect