aboutsummaryrefslogtreecommitdiff
path: root/src/interp/c-util.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-05-01 13:10:37 +0000
committerdos-reis <gdr@axiomatics.org>2011-05-01 13:10:37 +0000
commit8ca7f8357b22f6a24eeafeeddc6d18270d5fa9ad (patch)
tree3f4b24390293908da86345a544971b8302a4490c /src/interp/c-util.boot
parentdd6933dbbfb9d8247876e818c7053218944e70a3 (diff)
downloadopen-axiom-8ca7f8357b22f6a24eeafeeddc6d18270d5fa9ad.tar.gz
* interp/vmlisp.lisp (EQSUBSTLIST): Remove.
* interp/c-util.boot (eqSubstAndCopy, eqSubst): Likewise. Adjust callers.
Diffstat (limited to 'src/interp/c-util.boot')
-rw-r--r--src/interp/c-util.boot15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/interp/c-util.boot b/src/interp/c-util.boot
index 38946378..bb67ffd7 100644
--- a/src/interp/c-util.boot
+++ b/src/interp/c-util.boot
@@ -1139,15 +1139,6 @@ clearReplacement name ==
registerFunctionReplacement(name,body) ==
LAM_,EVALANDFILEACTQ ["PUT",MKQ name,MKQ "SPADreplace",quoteMinimally body]
-eqSubstAndCopy: (%List %Form, %List %Symbol, %Form) -> %Form
-eqSubstAndCopy(args,parms,body) ==
- applySubst(pairList(parms,args),body)
-
-eqSubst: (%List %Form, %List %Symbol, %Form) -> %Form
-eqSubst(args,parms,body) ==
- NSUBLIS(pairList(parms,args),body,KEYWORD::TEST,function EQ)
-
-
++ Attempt to resolve the indirect reference to a constant form
++ `[spadConstant,$,n]' to a simpler expression
resolveConstantForm form ==
@@ -1181,8 +1172,8 @@ inlineDirectCall call ==
and/[sideEffectFree? arg for arg in call.args] =>
-- alpha rename before substitution.
newparms := [gensym() for p in parms]
- body := eqSubstAndCopy(newparms,parms,body)
- eqSubst(call.args,newparms,body)
+ body := applySubst(pairList(parms,newparms),body)
+ applySubst!(pairList(newparms,call.args),body)
-- get cute later.
call
call
@@ -1332,7 +1323,7 @@ proclaimCapsuleFunction(op,sig) ==
backendCompileILAM: (%Symbol,%List %Symbol, %Code) -> %Symbol
backendCompileILAM(name,args,body) ==
args' := [gensym() for . in 1..#args]
- body' := eqSubst(args',args,body)
+ body' := applySubst!(pairList(args,args'),body)
property(name,'ILAM) := true
setDynamicBinding(name,["LAMBDA",args',:body'])
name