summaryrefslogtreecommitdiff
path: root/module/language/tree-il
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2011-11-04 13:38:28 +0100
committerAndy Wingo <wingo@pobox.com>2011-11-04 14:12:25 +0100
commitef9ffe5efd341af085e9dcd5a00288a6d33e99f7 (patch)
tree9d6953fa182bb629caf0071b9690eec22bbb7bcf /module/language/tree-il
parent14b208185cfe8811ac46f11bc69ec62eecdcb623 (diff)
downloadguile-ef9ffe5efd341af085e9dcd5a00288a6d33e99f7.tar.gz
peval doesn't resolve primitives
* module/language/tree-il/peval.scm (peval): Don't resolve primitives, as resolve-primitives! handles that already. * test-suite/tests/tree-il.test (pass-if-peval): Always resolve and expand primitives. ("partial evaluation"): Update tests to assume expanded primitives.
Diffstat (limited to 'module/language/tree-il')
-rw-r--r--module/language/tree-il/peval.scm7
1 files changed, 1 insertions, 6 deletions
diff --git a/module/language/tree-il/peval.scm b/module/language/tree-il/peval.scm
index fd3526ccf..f7733a5f1 100644
--- a/module/language/tree-il/peval.scm
+++ b/module/language/tree-il/peval.scm
@@ -868,12 +868,7 @@ top-level bindings from ENV and return the resulting expression."
(($ <dynset> src fluid exp)
(make-dynset src (for-value fluid) (for-value exp)))
(($ <toplevel-ref> src (? effect-free-primitive? name))
- (if (local-toplevel? name)
- exp
- (let ((exp (resolve-primitives! exp cenv)))
- (if (primitive-ref? exp)
- (for-tail exp)
- exp))))
+ exp)
(($ <toplevel-ref>)
;; todo: open private local bindings.
exp)