summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2025-06-15 07:37:06 -0700
committerKaz Kylheku <kaz@kylheku.com>2025-06-15 07:37:06 -0700
commitf0464a2e4d58c862195a8a4ba7d788ebd2e75e83 (patch)
tree9e83a8a29f75b525378826c774325f0b88fc3489
parent0ccc19a5399ff7c926143684c807d1e19429d6b4 (diff)
downloadtxr-f0464a2e4d58c862195a8a4ba7d788ebd2e75e83.tar.gz
txr-f0464a2e4d58c862195a8a4ba7d788ebd2e75e83.tar.bz2
txr-f0464a2e4d58c862195a8a4ba7d788ebd2e75e83.zip
compiler: tidiness issue in top dispatcher.
* stdlib/compiler.tl (compiler compile): Move the compiler-let case into the "compiler-only special operators" group. Consolidate the group of specially handled functions.
-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)))