mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-25 04:55:04 +02:00
Emit lambda AST's
This commit is contained in:
parent
f6be983113
commit
a20f020f66
1 changed files with 10 additions and 10 deletions
|
@ -187,17 +187,17 @@
|
||||||
;; 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))
|
||||||
|
(body
|
||||||
|
`((Cyc-seq
|
||||||
|
(set-global! ,var ,rsym)
|
||||||
|
,acc)))
|
||||||
|
)
|
||||||
`(memoize
|
`(memoize
|
||||||
(,(gensym 'lambda)
|
,(ast:make-lambda (list rsym) body)
|
||||||
(,rsym)
|
,new-var)))
|
||||||
(Cyc-seq
|
|
||||||
(set-global! ,var ,rsym)
|
|
||||||
,acc
|
|
||||||
))
|
|
||||||
,new-var)))
|
|
||||||
exp
|
exp
|
||||||
memo-tbl)
|
memo-tbl)
|
||||||
)))
|
)))
|
||||||
|
|
Loading…
Add table
Reference in a new issue