aboutsummaryrefslogtreecommitdiff
path: root/lib.rkt
diff options
context:
space:
mode:
Diffstat (limited to 'lib.rkt')
-rw-r--r--lib.rkt3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib.rkt b/lib.rkt
index 9b65256..b35ea21 100644
--- a/lib.rkt
+++ b/lib.rkt
@@ -86,6 +86,9 @@
[`(let ,id (: ,t) ,e ,in)
(desugar `((λ ,id (: ,t) ,in) ,e))]
+ [`(letrec ,x (: ,t) ,e ,in)
+ (desugar `(let ,x (: ,t) (fix (λ ,x (: ,t) ,e)) ,in))]
+
[`(λ ,x (: ,t) ,e) `(λ ,x (: ,t) ,(desugar e))]
[`(,e1 ,e2 ,e3) `(,(desugar e1) ,(desugar e2) ,(desugar e3))]
[`(,e1 ,e2) `(,(desugar e1) ,(desugar e2))]