aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/interp/as.boot8
-rw-r--r--src/interp/br-con.boot2
-rw-r--r--src/interp/br-op1.boot6
-rw-r--r--src/interp/br-prof.boot2
-rw-r--r--src/interp/br-saturn.boot2
-rw-r--r--src/interp/br-search.boot2
-rw-r--r--src/interp/cattable.boot2
-rw-r--r--src/interp/hashcode.boot2
-rw-r--r--src/interp/i-funsel.boot7
-rw-r--r--src/interp/modemap.boot4
-rw-r--r--src/interp/trace.boot2
11 files changed, 19 insertions, 20 deletions
diff --git a/src/interp/as.boot b/src/interp/as.boot
index 14bcec7f..876e4d46 100644
--- a/src/interp/as.boot
+++ b/src/interp/as.boot
@@ -112,10 +112,10 @@ asySubstMapping u ==
-- name := makeSymbol PATHNAME_-NAME asyFile
-- modemap :=
-- [[[name],['CATEGORY,'domain,
--- :[asyMkSignature(con,CDAR mm) for [con,:mm] in $mmAlist]]],['T,name]]
--- opAlist := [[con,[CDAR mm]] for [con,:mm] in $mmAlist]
+-- :[asyMkSignature(con,mm.mmSignature) for [con,:mm] in $mmAlist]]],['T,name]]
+-- opAlist := [[con,[mm.mmSignature]] for [con,:mm] in $mmAlist]
-- documentation :=
--- [[con,[CDAR mm,fn LASSOC(con,$docAlist)]] for [con,:mm] in $mmAlist]
+-- [[con,[mm.mmSignature,fn LASSOC(con,$docAlist)]] for [con,:mm] in $mmAlist]
-- where fn u ==
-- LASSOC('constructor,u) is [[=nil,doc]] => doc
-- '""
@@ -272,7 +272,7 @@ asGetModemaps(opAlist,oform,kind,modemap) ==
pred1 :=
kind is 'category => [["*1",form]]
nil
- signature := CDAR modemap
+ signature := modemap.mmSignature
domainList :=
[[a,m] for a in rest form for m in rest signature |
asIsCategoryForm m]
diff --git a/src/interp/br-con.boot b/src/interp/br-con.boot
index 9b781471..fbfbc6bf 100644
--- a/src/interp/br-con.boot
+++ b/src/interp/br-con.boot
@@ -190,7 +190,7 @@ kArgPage(htPage,arg) ==
[op,:args] := conform := htpProperty(htPage,'conform)
domname := htpProperty(htPage,'domname)
heading := htpProperty(htPage,'heading)
- source := CDDAR getConstructorModemapFromDB op
+ source := getConstructorModemapFromDB(op).mmSource
n := position(arg,args)
typeForm := sublisFormal(args,source . n)
domTypeForm := mkDomTypeForm(typeForm,conform,domname)
diff --git a/src/interp/br-op1.boot b/src/interp/br-op1.boot
index 1d8e6ae7..5d0e41e5 100644
--- a/src/interp/br-op1.boot
+++ b/src/interp/br-op1.boot
@@ -223,7 +223,7 @@ conform2StringList(form,opFn,argFn,exception) ==
rest getDualSignatureFromDB op
atypes :=
special => cosig
- rest CDAR getConstructorModemapFromDB op
+ getConstructorModemapFromDB(op).mmSource
sargl := [fn for x in args for atype in atypes for pred in cosig] where fn() ==
keyword :=
x is [":",y,t] =>
@@ -267,7 +267,7 @@ dbOuttran form ==
op := form
args := nil
cosig := rest getDualSignatureFromDB op
- atypes := rest CDAR getConstructorModemapFromDB op
+ atypes := getConstructorModemapFromDB(op).mmSource
argl := [fn for x in args for atype in atypes for pred in cosig] where fn() ==
pred => x
typ := sublisFormal(args,atype)
@@ -891,7 +891,7 @@ evalableConstructor2HtString domform ==
f is 'QUOTE => first args
[f,:[unquote x for x in args]]
arg
- fargtypes:=CDDAR getConstructorModemapFromDB conname
+ fargtypes := getConstructorModemapFromDB(conname).mmSource
--argtypes:= sublisFormal(arglist,fargtypes)
form2HtString([conname,:[fn for arg in arglist for x in coSig
for ftype in fargtypes]],nil,true) where
diff --git a/src/interp/br-prof.boot b/src/interp/br-prof.boot
index dfd58e59..c9eae539 100644
--- a/src/interp/br-prof.boot
+++ b/src/interp/br-prof.boot
@@ -78,7 +78,7 @@ dbShowInfoOp(htPage,op,sig,alist) ==
kind = 'category =>
[makeDefaultPackageName symbolName conname,"$",:rest conform]
conform
- faTypes := CDDAR getConstructorModemapFromDB conname
+ faTypes := getConstructorModemapFromDB(conname).mmSource
conArgTypes :=
applySubst(pairList($FormalMapVariableList,IFCDR conform),faTypes)
diff --git a/src/interp/br-saturn.boot b/src/interp/br-saturn.boot
index ec9e3873..ab099d02 100644
--- a/src/interp/br-saturn.boot
+++ b/src/interp/br-saturn.boot
@@ -1245,7 +1245,7 @@ displayDomainOp(htPage,which,origin,op,sig,predicate,
if which = '"operation" then
$signature : local :=
builtinFunctorName? conname => nil
- CDAR getConstructorModemapFromDB conname
+ getConstructorModemapFromDB(conname).mmSignature
--RDJ: this next line is necessary until compiler bug is fixed
--that forgets to substitute #variables for t#variables;
--check the signature for SegmentExpansionCategory, e.g.
diff --git a/src/interp/br-search.boot b/src/interp/br-search.boot
index 311fd85f..e4d2ba6b 100644
--- a/src/interp/br-search.boot
+++ b/src/interp/br-search.boot
@@ -316,7 +316,7 @@ conform2OutputForm(form) ==
[op,:args] := form
null args => form
cosig := rest getDualSignatureFromDB op
- atypes := rest CDAR getConstructorModemapFromDB op
+ atypes := getConstructorModemapFromDB(op).mmSource
sargl := [fn for x in args for atype in atypes for pred in cosig] where fn() ==
pp [x,atype,pred]
pred => conform2OutputForm x
diff --git a/src/interp/cattable.boot b/src/interp/cattable.boot
index 87d469db..d86290f4 100644
--- a/src/interp/cattable.boot
+++ b/src/interp/cattable.boot
@@ -205,7 +205,7 @@ genTempCategoryTable() ==
addToCategoryTable con ==
-- adds an entry to $tempCategoryTable with key=con and alist entries
- u := CAAR getConstructorModemapFromDB con --domain
+ u := getConstructorModemapFromDB(con).mmDC --domain
alist := getCategoryExtensionAlist u
tableValue(_*ANCESTORS_-HASH_*,first u) := alist
alist
diff --git a/src/interp/hashcode.boot b/src/interp/hashcode.boot
index af6547f6..0368d4bb 100644
--- a/src/interp/hashcode.boot
+++ b/src/interp/hashcode.boot
@@ -74,7 +74,7 @@ hashType(type, percentHash) ==
hash := hashCombine(hashType(arg, percentHash), hash)
hash
- cmm := CDDAR getConstructorModemapFromDB op
+ cmm := getConstructorModemapFromDB(op).mmSource
cosig := rest getDualSignatureFromDB op
for arg in args for c in cosig for ct in cmm repeat
if c then
diff --git a/src/interp/i-funsel.boot b/src/interp/i-funsel.boot
index 0b294caa..1dd0d74a 100644
--- a/src/interp/i-funsel.boot
+++ b/src/interp/i-funsel.boot
@@ -763,8 +763,8 @@ selectMostGeneralMm mmList ==
genMm := first mmList
while mml repeat
[mm,:mml] := mml
- and/[canCoerceFrom(genMmArg,mmArg) for mmArg in CDAR mm
- for genMmArg in CDAR genMm] => genMm := mm
+ and/[canCoerceFrom(genMmArg,mmArg) for mmArg in mm.mmSignature
+ for genMmArg in genMm.mmSignature] => genMm := mm
genMm
findFunctionInDomain(op,dc,tar,args1,args2,$Coerce,$SubDom) ==
@@ -800,8 +800,7 @@ findFunctionInDomain(op,dc,tar,args1,args2,$Coerce,$SubDom) ==
q := nil
r := nil
for mm in rest p repeat
- -- CDAR of mm is the signature argument list
- if isHomogeneousList CDAR mm then q := [mm,:q]
+ if isHomogeneousList mm.mmSignature then q := [mm,:q]
else r := [mm,:r]
q := allOrMatchingMms(q,args1,tar,dc)
for mm in q repeat
diff --git a/src/interp/modemap.boot b/src/interp/modemap.boot
index e58b315e..cd69da0f 100644
--- a/src/interp/modemap.boot
+++ b/src/interp/modemap.boot
@@ -543,9 +543,9 @@ knownInfo pred ==
pred is ["SIGNATURE",name,op,sig,:.] =>
v:= get(op,"modemap",$e)
for w in v repeat
- ww:= CDAR w --the actual signature part
+ ww := w.mmSignature --the actual signature part
ww = sig =>
- CAADR w = true => return true
+ w.mmCondition = true => return true
false
--error '"knownInfo"
false
diff --git a/src/interp/trace.boot b/src/interp/trace.boot
index 2f59a099..c689a91d 100644
--- a/src/interp/trace.boot
+++ b/src/interp/trace.boot
@@ -173,7 +173,7 @@ saveMapSig(funNames) ==
getMapSig(mapName,subName) ==
lmms:= get(mapName,'localModemap,$InteractiveFrame) =>
for mm in lmms until sig repeat
- second mm = subName => sig:= CDAR mm
+ second mm = subName => sig := mm.mmSignature
sig
getTraceOption (x is [key,:l]) ==