diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2025-06-15 07:37:06 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2025-06-15 07:37:06 -0700 |
commit | f0464a2e4d58c862195a8a4ba7d788ebd2e75e83 (patch) | |
tree | 9e83a8a29f75b525378826c774325f0b88fc3489 | |
parent | 0ccc19a5399ff7c926143684c807d1e19429d6b4 (diff) | |
download | txr-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.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))) |