Only use Cyc-seq for non-CPSing arguments

This commit is contained in:
Justin Ethier 2017-07-10 13:26:30 +00:00
parent 8ba1954ac3
commit 37d510a41f
2 changed files with 15 additions and 2 deletions

View file

@ -17,4 +17,10 @@
r)))));; Then return r.
(write
(get-set-root '()))
(get-set-root '(
(a . 1)
(b . 2)
(c . 3)
(d . 4)
(e . 5)
)))

View file

@ -1477,7 +1477,14 @@
(with-var
(car (lambda-formals->list fn))
(lambda (var)
(zero? (adbv:ref-count var)))))
(zero? (adbv:ref-count var))))
;; Non-CPS args
(every
(lambda (x)
(or (not (pair? x)) ;; Should never happen
(and (prim-call? x)
(not (prim:cont? (car x))))))
args))
`(Cyc-seq
,@args
,@(map cc (lambda->exp fn))))