aboutsummaryrefslogtreecommitdiff
path: root/src/interp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-06-25 03:44:16 +0000
committerdos-reis <gdr@axiomatics.org>2010-06-25 03:44:16 +0000
commit094e16ae834eaf254a85781d759e0399a9269fb1 (patch)
treee5e237ccddba087d995b9b1c879db3165f62d476 /src/interp
parent2341ec9865ba01ce326f6eb46bddef32cb2a83b8 (diff)
downloadopen-axiom-094e16ae834eaf254a85781d759e0399a9269fb1.tar.gz
* interp/c-util.boot (expandableDefinition?): Try to make it a
forwarding function if possible.
Diffstat (limited to 'src/interp')
-rw-r--r--src/interp/c-util.boot4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index dc3ba3af..e79aba6b 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -1221,7 +1221,9 @@ expandableDefinition?(vars,body) ==
or semiSimpleRelativeTo?(body,$simpleVMoperators) =>
usesVariablesLinearly?(body,vars')
false
- expand? => ["XLAM",vars',body]
+ expand? =>
+ body is [fun,: =vars'] and symbol? fun => fun
+ ['XLAM,vars',body]
nil
++ Replace all SPADCALLs to operations defined in the current