Emit lambda AST's

This commit is contained in:
Justin Ethier 2019-02-13 15:00:38 -05:00
parent f6be983113
commit a20f020f66

View file

@ -187,17 +187,17 @@
;; Memoize all of the functions at top-level
(foldl
(lambda (var/new-var acc)
(let ((rsym (gensym 'r))
(var (car var/new-var))
(new-var (cdr var/new-var)))
(let* ((rsym (gensym 'r))
(var (car var/new-var))
(new-var (cdr var/new-var))
(body
`((Cyc-seq
(set-global! ,var ,rsym)
,acc)))
)
`(memoize
(,(gensym 'lambda)
(,rsym)
(Cyc-seq
(set-global! ,var ,rsym)
,acc
))
,new-var)))
,(ast:make-lambda (list rsym) body)
,new-var)))
exp
memo-tbl)
)))