bluefin-0.7.0.1: The Bluefin effect system
Safe HaskellSafe-Inferred
LanguageHaskell2010

Bluefin.Capability.Modify

Synopsis

Capability

type Modify = State #

Handlers

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

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

withModify :: 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 => State s e -> Eff es s #

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

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