Kind/book/Kind.kind2
2024-02-20 19:23:15 -03:00

22 lines
571 B
Plaintext

Kind
: String
= let a = (Kind.lam "f" λf(Kind.lam "x" λx(Kind.app f (Kind.app f x))))
let b = (Kind.lam "f" λf(Kind.lam "x" λx(Kind.app f (Kind.app f x))))
let Test =
(Kind.all "A" Kind.set λA
(Kind.all "B" Kind.set λB
(Kind.all "a" A λa
(Kind.all "b" B λb
B))))
let test =
(Kind.lam "A" λA
(Kind.lam "B" λB
(Kind.lam "a" λa
(Kind.lam "b" λb
b))))
let P = λx(String)
let some = λvalue (Kind.Term.show value Nat.zero)
let none = "error"
let chk = (Kind.check test Test Nat.zero)
(~chk P some none)