2024-11-23 10:06:53 -08:00
|
|
|
===
|
|
|
|
|
Let
|
|
|
|
|
===
|
|
|
|
|
|
2024-12-01 20:53:58 -08:00
|
|
|
def foo :=
|
|
|
|
|
let (x : bar := a)
|
|
|
|
|
(y := x)
|
|
|
|
|
(f (x : A) := x)
|
|
|
|
|
in
|
|
|
|
|
x
|
|
|
|
|
end;
|
2024-11-23 10:06:53 -08:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
(program
|
|
|
|
|
(definition
|
|
|
|
|
(identifier)
|
|
|
|
|
(expr
|
|
|
|
|
(app_term
|
|
|
|
|
(let
|
|
|
|
|
(binding
|
|
|
|
|
(identifier)
|
2024-12-01 20:53:58 -08:00
|
|
|
(ascription
|
|
|
|
|
(expr
|
|
|
|
|
(app_term
|
|
|
|
|
(app
|
|
|
|
|
(term
|
|
|
|
|
(identifier))))))
|
2024-11-23 10:06:53 -08:00
|
|
|
(expr
|
|
|
|
|
(app_term
|
|
|
|
|
(app
|
|
|
|
|
(term
|
|
|
|
|
(identifier))))))
|
|
|
|
|
(binding
|
|
|
|
|
(identifier)
|
|
|
|
|
(expr
|
|
|
|
|
(app_term
|
|
|
|
|
(app
|
|
|
|
|
(term
|
|
|
|
|
(identifier))))))
|
2024-11-23 10:39:33 -08:00
|
|
|
(binding
|
|
|
|
|
(identifier)
|
|
|
|
|
(param_block
|
|
|
|
|
(identifier)
|
|
|
|
|
(expr
|
|
|
|
|
(app_term
|
|
|
|
|
(app
|
|
|
|
|
(term
|
|
|
|
|
(identifier))))))
|
|
|
|
|
(expr
|
|
|
|
|
(app_term
|
|
|
|
|
(app
|
|
|
|
|
(term
|
|
|
|
|
(identifier))))))
|
2024-11-23 10:06:53 -08:00
|
|
|
(expr
|
|
|
|
|
(app_term
|
|
|
|
|
(app
|
|
|
|
|
(term
|
|
|
|
|
(identifier))))))))))
|