Module

Run.State

#State

data State s a

Constructors

Instances

#STATE

type STATE s = FProxy (State s)

#_state

_state :: SProxy "state"

#liftState

liftState :: forall s a r. State s a -> Run (state :: STATE s | r) a

#liftStateAt

liftStateAt :: forall q sym s a r. IsSymbol sym => Cons sym (STATE s) q r => SProxy sym -> State s a -> Run r a

#modify

modify :: forall s r. (s -> s) -> Run (state :: STATE s | r) Unit

#modifyAt

modifyAt :: forall q sym s r. IsSymbol sym => Cons sym (STATE s) q r => SProxy sym -> (s -> s) -> Run r Unit

#put

put :: forall s r. s -> Run (state :: STATE s | r) Unit

#putAt

putAt :: forall q sym s r. IsSymbol sym => Cons sym (STATE s) q r => SProxy sym -> s -> Run r Unit

#get

get :: forall s r. Run (state :: STATE s | r) s

#getAt

getAt :: forall q sym s r. IsSymbol sym => Cons sym (STATE s) q r => SProxy sym -> Run r s

#gets

gets :: forall s t r. (s -> t) -> Run (state :: STATE s | r) t

#getsAt

getsAt :: forall q sym s t r. IsSymbol sym => Cons sym (STATE s) q r => SProxy sym -> (s -> t) -> Run r t

#runState

runState :: forall s r a. s -> Run (state :: STATE s | r) a -> Run r (Tuple s a)

#runStateAt

runStateAt :: forall q sym s r a. IsSymbol sym => Cons sym (STATE s) q r => SProxy sym -> s -> Run r a -> Run q (Tuple s a)

#evalState

evalState :: forall s r a. s -> Run (state :: STATE s | r) a -> Run r a

#evalStateAt

evalStateAt :: forall q sym s r a. IsSymbol sym => Cons sym (STATE s) q r => SProxy sym -> s -> Run r a -> Run q a

#execState

execState :: forall s r a. s -> Run (state :: STATE s | r) a -> Run r s

#execStateAt

execStateAt :: forall q sym s r a. IsSymbol sym => Cons sym (STATE s) q r => SProxy sym -> s -> Run r a -> Run q s

Modules