unison/unison-src/tests/state2b-min.u

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