diff options
author | Andy Wingo <wingo@pobox.com> | 2013-06-27 11:25:34 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2013-06-27 22:02:35 +0200 |
commit | 39caffe79b3d159590b5ce1ccf8fe28c3d5cfdc6 (patch) | |
tree | 94994ed36aed8426e5287953396350e92db1b5dc /test-suite/tests/peval.test | |
parent | 1773bc7dd5f4c8a1d13c7cf2015f3a04c9299eeb (diff) | |
download | guile-39caffe79b3d159590b5ce1ccf8fe28c3d5cfdc6.tar.gz |
remove @apply memoizer
* libguile/memoize.c (memoize): Recognize a primcall to 'apply as
SCM_M_APPLY.
(@apply): Remove @apply memoizer.
(unmemoize): Unmemoize using "apply", not "@apply".
* libguile/memoize.h:
* libguile/expand.c (scm_sym_atapply): Remove.
* module/ice-9/boot-9.scm (apply): Re-implement using apply primcall.
Use case-lambda, so as to give an appropriate minimum arity.
* module/language/tree-il/compile-glil.scm (flatten-lambda-case):
Compile a primcall of "apply" specially, not "@apply".
* module/language/tree-il/peval.scm (peval): Match primcalls to "apply",
not "@apply". Residualize "apply" primcalls.
* module/language/tree-il/primitives.scm (*interesting-primitive-names*):
(*multiply-valued-primitives*): Remove @apply, and apply primitive
expander.
* test-suite/tests/peval.test:
* test-suite/tests/tree-il.test: Update tests to expect residualized
"apply".
* test-suite/tests/procprop.test ("procedure-arity"): Update test for
better apply arity.
* test-suite/tests/strings.test ("string"): Update expected error.
Diffstat (limited to 'test-suite/tests/peval.test')
-rw-r--r-- | test-suite/tests/peval.test | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/test-suite/tests/peval.test b/test-suite/tests/peval.test index 7322d6120..0beeb75bd 100644 --- a/test-suite/tests/peval.test +++ b/test-suite/tests/peval.test @@ -874,7 +874,7 @@ (let (args) (_) ((primcall list (const 2) (const 3))) (seq (call (toplevel foo!) (lexical args _)) - (primcall @apply + (primcall apply (lambda () (lambda-case (((x y z w) #f #f #f () (_ _ _ _)) @@ -898,7 +898,7 @@ bv (+ offset 4)))) (let ((args (list x y))) - (@apply + (apply (lambda (bv offset x y) (bytevector-ieee-single-native-set! bv @@ -938,7 +938,7 @@ ;; Here we ensure that non-constant expressions are not copied. (lambda () (let ((args (list (foo!)))) - (@apply + (apply (lambda (z x) (list z x)) ;; This toplevel ref might raise an unbound variable exception. @@ -959,7 +959,7 @@ (lambda () (let ((args (list 'foo))) (set-car! args 'bar) - (@apply + (apply (lambda (z x) (list z x)) z @@ -971,7 +971,7 @@ ((primcall list (const foo))) (seq (primcall set-car! (lexical args _) (const bar)) - (primcall @apply + (primcall apply (lambda . _) (toplevel z) (lexical args _)))))))) @@ -1106,7 +1106,7 @@ (lambda-case ((() #f vals #f () (_)) (seq (toplevel baz) - (primcall @apply (primitive values) (lexical vals _)))))))) + (primcall apply (primitive values) (lexical vals _)))))))) (pass-if-peval ;; Prompt is removed if tag is unreferenced @@ -1145,7 +1145,7 @@ (const 1) (lambda-case ((() #f args #f () (_)) - (primcall @apply + (primcall apply (lexical handler _) (lexical args _))))))) |