mirror of
https://github.com/unisonweb/unison.git
synced 2024-10-04 21:57:25 +03:00
15 lines
284 B
Plaintext
15 lines
284 B
Plaintext
--State2 effect
|
|
effect State s where
|
|
put : s -> {State s} ()
|
|
|
|
state : s -> Effect (State s) a -> s
|
|
state s eff = case eff of
|
|
{ State.put snew -> k } -> handle (state snew) in k ()
|
|
{ a } -> s
|
|
|
|
handle (state 10) in
|
|
State.put (11 + 1)
|
|
State.put (5 + 15)
|
|
()
|
|
-- should be 20
|