Kind/book/Kind.Term.parser.def.kind2
2024-02-24 20:50:01 -03:00

11 lines
523 B
Plaintext

Kind.Term.parser.def
: (Parser.Guard Kind.PreTerm)
= (Parser.Guard.text Kind.PreTerm "let "
(Kind.Term.parser.bind Unit (Parser.text "let ") λ_
(Kind.Term.parser.bind String Parser.name λnam
(Kind.Term.parser.bind Unit (Parser.text "=") λ_
(Kind.Term.parser.bind Kind.PreTerm Kind.Term.parser λval
(Kind.Term.parser.bind Kind.PreTerm Kind.Term.parser λbod
(Kind.Term.parser.pure λscp
(Kind.def nam (val scp) λx(bod (Kind.Scope.extend nam x scp))))))))))