Kind/book/IO.kind2
2024-02-25 19:46:44 -03:00

11 lines
417 B
Plaintext

IO
: ∀(A: *) *
= λA
$(self: (IO A))
∀(P: ∀(x: (IO A)) *)
∀(print: ∀(text: String) ∀(then: ∀(x: Unit) (IO A)) (P (IO.print A text then)))
∀(load: ∀(file: String) ∀(then: ∀(x: String) (IO A)) (P (IO.load A file then)))
∀(save: ∀(file: String) ∀(data: String) ∀(then: ∀(x: Unit) (IO A)) (P (IO.save A file data then)))
∀(done: ∀(term: A) (P (IO.done A term)))
(P self)