From fab70aaf2947ff1369757355fbf11437c6db35ff Mon Sep 17 00:00:00 2001 From: Malte Voos Date: Sun, 30 Jun 2024 15:07:02 +0200 Subject: implement syntax for non-dependent function and pair types --- src/ast/Ast.ml | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/ast') diff --git a/src/ast/Ast.ml b/src/ast/Ast.ml index 1a1d4c5..3a6fac6 100644 --- a/src/ast/Ast.ml +++ b/src/ast/Ast.ml @@ -7,9 +7,11 @@ and raw_expr = | Var of Ident.t | Check of expr * expr | Pi of arg * expr + | Fun of expr * expr | Lam of local_name * expr | App of expr * expr | Sg of arg * expr + | Prod of expr * expr | Pair of expr * expr | Fst of expr | Snd of expr @@ -52,12 +54,16 @@ and dump_raw_expr fmt = function dump_expr scrut | Pi (dom, cod) -> Format.fprintf fmt "@[<4>Pi (@[%a@],@ @[%a@])@]" dump_arg dom dump_expr cod + | Fun (dom, cod) -> + Format.fprintf fmt "@[<5>Fun (@[%a@],@ @[%a@])@]" dump_expr dom dump_expr cod | Lam (var, body) -> Format.fprintf fmt "@[<5>Lam (@[%a@].@ @[%a@])@]" dump_local_name var dump_expr body | App (fn, arg) -> Format.fprintf fmt "@[<5>App (@[%a@],@ @[%a@])@]" dump_expr fn dump_expr arg | Sg (fst, snd) -> Format.fprintf fmt "@[<4>Sg (@[%a@],@ @[%a@])@]" dump_arg fst dump_expr snd + | Prod (fst, snd) -> + Format.fprintf fmt "@[<6>Prod (@[%a@],@ @[%a@])@]" dump_expr fst dump_expr snd | Pair (fst, snd) -> Format.fprintf fmt "@[<6>Pair (@[%a@],@ @[%a@])@]" dump_expr fst dump_expr snd | Fst p -> Format.fprintf fmt "@[<5>Fst (@[%a@])@]" dump_expr p -- cgit 1.4.1