Kind/book/IO.run.kind2
2024-02-24 20:50:01 -03:00

13 lines
391 B
Plaintext

IO.run
: ∀(A: *)
∀(x: (IO A))
(IO A)
= λA λx
let P = λx(IO A)
let print = λtext λthen (HVM.print (IO A) text (IO.run A (then Unit.one)))
let load = λfile λthen (HVM.load (IO A) file λs(IO.run A (then s)))
let save = λfile λdata λthen (HVM.save (IO A) file data (IO.run A (then Unit.one)))
let done = λterm (IO.done A term)
(~x P print load save done)