diff options
-rw-r--r-- | src/interp/as.boot | 8 | ||||
-rw-r--r-- | src/interp/br-con.boot | 2 | ||||
-rw-r--r-- | src/interp/br-op1.boot | 6 | ||||
-rw-r--r-- | src/interp/br-prof.boot | 2 | ||||
-rw-r--r-- | src/interp/br-saturn.boot | 2 | ||||
-rw-r--r-- | src/interp/br-search.boot | 2 | ||||
-rw-r--r-- | src/interp/cattable.boot | 2 | ||||
-rw-r--r-- | src/interp/hashcode.boot | 2 | ||||
-rw-r--r-- | src/interp/i-funsel.boot | 7 | ||||
-rw-r--r-- | src/interp/modemap.boot | 4 | ||||
-rw-r--r-- | src/interp/trace.boot | 2 |
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]) == |