We simulate it in the following way:
1- An opaque 'let'-expressions (let x : t := v in b) is encoded as
((fun (x : t), b) v)
We also use a macro (let-macro) to mark this pattern.
Thus, the pretty-printer knows how to display it correctly.
2- Transparent 'let'-expressions are eagerly expanded by the parser.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
|
||
|---|---|---|
| .. | ||
| rewriter | ||
| tactic | ||
| CMakeLists.txt | ||
| deep_copy.cpp | ||
| expr_lt.cpp | ||
| occurs.cpp | ||