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