bluefin-0.10.0.0: The Bluefin effect system
Safe HaskellNone
LanguageHaskell2010

Bluefin.State

Description

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

Synopsis

Handle

type State = Modify #

Handlers

evalState :: forall s (es :: Effects) a. s -> (forall (e :: Effects). Modify s e -> Eff (e :& es) a) -> Eff es a #

runState :: forall s (es :: Effects) a. s -> (forall (e :: Effects). Modify s e -> Eff (e :& es) a) -> Eff es (a, s) #

withState :: forall s (es :: Effects) a. s -> (forall (e :: Effects). Modify s e -> Eff (e :& es) (s -> a)) -> Eff es a #

Effectful operations

get :: forall (e :: Effects) (es :: Effects) s. e <: es => Modify s e -> Eff es s #

put :: forall (e :: Effects) (es :: Effects) s. e <: es => Modify s e -> s -> Eff es () #

modify :: forall (e :: Effects) (es :: Effects) s. e <: es => Modify s e -> (s -> s) -> Eff es () #