unison/unison-src/errors/console.u
2018-09-24 13:15:40 -04:00

21 lines
434 B
Plaintext

effect State s where
get : Nat -> {State s} s
set : s -> {State s} ()
effect Console where
read : () -> {Console} (Optional Text)
write : Text -> {Console} ()
fst x = case x of Pair.Pair a _ -> a
snd x = case x of Pair.Pair _ (Pair.Pair b _) -> b
namespace Console where
simulate : Effect Console a -> {State ([Text], [Text])} a
simulate c = case c of
{Console.read _ -> k} -> k Optional.None
Console.simulate