summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--stdlib/compiler.tl8
1 files changed, 4 insertions, 4 deletions
diff --git a/stdlib/compiler.tl b/stdlib/compiler.tl
index b1d69db2..98cdb7c4 100644
--- a/stdlib/compiler.tl
+++ b/stdlib/compiler.tl
@@ -515,8 +515,7 @@
(sys:load-time-lit me.(comp-load-time-lit oreg env form))
;; compiler-only special operators:
(ift me.(comp-ift oreg env form))
- ;; specially treated functions
- ((call apply usr:apply) me.(comp-apply-call oreg env form))
+ (compiler-let me.(comp-compiler-let oreg env form))
;; error cases
((macrolet symacrolet macro-time)
(compile-error form "unexpanded ~s encountered" sym))
@@ -525,11 +524,12 @@
((usr:qquote usr:unquote usr:splice
sys:qquote sys:unquote sys:splice)
(compile-error form "unexpanded quasiquote encountered"))
- ;; function call
+ ;; optimized or specially treated function call
+ ((call apply usr:apply) me.(comp-apply-call oreg env form))
((+ *) me.(comp-arith-form oreg env form))
((- /) me.(comp-arith-neg-form oreg env form))
(typep me.(comp-typep oreg env form))
- (compiler-let me.(comp-compiler-let oreg env form))
+ ;; function call
(t me.(comp-fun-form oreg env form))))
((and (consp sym)
(eq (car sym) 'lambda)) me.(compile oreg env ^(call ,*form)))