diff options
-rw-r--r-- | stdlib/compiler.tl | 8 |
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))) |