diff options
author | dos-reis <gdr@axiomatics.org> | 2007-10-16 16:03:14 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2007-10-16 16:03:14 +0000 |
commit | 004d25ab39f6f6867eb767bc7ba9b3fcce4e47a8 (patch) | |
tree | 8d0dbf9d56040f709a86a5d8de888a90b4081e1b /src/interp/nrunfast.boot.pamphlet | |
parent | cead691f140a05967d095a596c0b1a41674669f8 (diff) | |
download | open-axiom-004d25ab39f6f6867eb767bc7ba9b3fcce4e47a8.tar.gz |
* Makefile.pamphlet (INOBJS): Lose xrun.$(FASLEXT).
* clammed.boot.pamphlet (coerceConvertMmSelection): Merge
modification in late xrun.boot.
* i-coerce.boot.pamphlet (equalOne): Likewise.
(equalZero): Likewise.
(algEqual): Likewise.
(coerceByFunction): Likewise.
* i-eval.boot.pamphlet (evalFrom): Likewise.
(findFunctionInDomain): Likewise.
(findFunctionInDomain1): Likewise.
(findFunctionInCategory): Likewise.
* nrunfast.boot.pamphlet (replaceGoGetSlot): Likewise.
(lazyMatchArg2): Likewise.
(newExpandTypeSlot): Likewise.
(newExpandLocalTypeForm): Likewise.
(newExpandLocalTypeArgs): Likewise.
(sigDomainVal): Likewise.
* nrungo.boot.pamphlet (lazyCompareSigEqual): Likewise.
* nrunopt.boot.pamphlet (NRTmakeCategoryAlist): Likewise.
* sys-globals.boot ($noSubsumption): Likewise.
* template.boot (evalSlotDomain): Likewise.
* xrun.boot: Remove.
Diffstat (limited to 'src/interp/nrunfast.boot.pamphlet')
-rw-r--r-- | src/interp/nrunfast.boot.pamphlet | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/src/interp/nrunfast.boot.pamphlet b/src/interp/nrunfast.boot.pamphlet index e6a29b12..12a6aec4 100644 --- a/src/interp/nrunfast.boot.pamphlet +++ b/src/interp/nrunfast.boot.pamphlet @@ -84,7 +84,6 @@ newGoGet(:l) == APPLY(first slot,[:arglist,rest slot]) --SPADCALL it! --------------------> NEW DEFINITION (see interop.boot.pamphlet) ---------------------> NEW DEFINITION (override in xrun.boot.pamphlet) replaceGoGetSlot env == [thisDomain,index,:op] := env thisDomainForm := devaluate thisDomain @@ -103,7 +102,7 @@ replaceGoGetSlot env == if $monitorNewWorld then sayLooking(concat('"%l","..",form2String thisDomainForm, '" wants",'"%l",'" "),op,sig,goGetDomain) - slot := .basicLookup(op,sig,goGetDomain,goGetDomain) + slot := basicLookup(op,sig,goGetDomain,goGetDomain) slot = nil => $returnNowhereFromGoGet = true => ['nowhere,:goGetDomain] --see newGetDomainOpTable @@ -431,7 +430,6 @@ newCompareSig(sig, numvec, index, dollar, domain) == lazyMatchArg(s,a,dollar,domain) == lazyMatchArg2(s,a,dollar,domain,true) --------------------> NEW DEFINITION (see interop.boot.pamphlet) ---------------------> NEW DEFINITION (override in xrun.boot.pamphlet) lazyMatchArg2(s,a,dollar,domain,typeFlag) == if s = '$ then -- a = 0 => return true --needed only if extra call in newGoGet to basicLookup @@ -442,11 +440,14 @@ lazyMatchArg2(s,a,dollar,domain,typeFlag) == VECP (d := domainVal(dollar,domain,a)) => s = d.0 => true domainArg := ($isDefaultingPackage => domain.6.0; domain.0) - KAR s = QCAR d.0 and lazyMatchArgDollarCheck(s,d.0,dollar.0,domainArg) + KAR s = QCAR d.0 and + lazyMatchArgDollarCheck(replaceSharpCalls s,d.0,dollar.0,domainArg) --VECP CAR d => lazyMatch(s,CDDR d,dollar,domain) --old style (erase) - lazyMatch(s,d,dollar,domain) --new style + lazyMatch(replaceSharpCalls s,d,dollar,domain) --new style a = '$ => s = devaluate dollar + a = "$$" => s = devaluate domain STRINGP a => + STRINGP s => a = s s is ['QUOTE,y] and PNAME y = a IDENTP s and PNAME s = a atom a => a = s @@ -524,49 +525,45 @@ lookupInDomainByName(op,domain,arg) == --======================================================= -- Expand Signature from Encoded Slot Form --======================================================= ---------------------> NEW DEFINITION (override in xrun.boot.pamphlet) newExpandGoGetTypeSlot(slot,dollar,domain) == newExpandTypeSlot(slot,domain,domain) ---------------------> NEW DEFINITION (override in xrun.boot.pamphlet) newExpandTypeSlot(slot, dollar, domain) == --> returns domain form for dollar.slot - newExpandLocalType(domainVal(dollar, domain, slot), dollar,domain) + newExpandLocalType(sigDomainVal(dollar, domain, slot), dollar,domain) --------------------> NEW DEFINITION (see interop.boot.pamphlet) ---------------------> NEW DEFINITION (override in xrun.boot.pamphlet) newExpandLocalType(lazyt,dollar,domain) == VECP lazyt => lazyt.0 + ATOM lazyt => lazyt lazyt is [vec,.,:lazyForm] and VECP vec => --old style newExpandLocalTypeForm(lazyForm,dollar,domain) newExpandLocalTypeForm(lazyt,dollar,domain) --new style ---------------------> NEW DEFINITION (override in xrun.boot.pamphlet) newExpandLocalTypeForm([functorName,:argl],dollar,domain) == MEMQ(functorName, '(Record Union)) and first argl is [":",:.] => [functorName,:[['_:,tag,newExpandLocalTypeArgs(dom,dollar,domain,true)] for [.,tag,dom] in argl]] MEMQ(functorName, '(Union Mapping)) => - [functorName,:[newExpandLocalTypeArgs(a,dollar,domain,true) for a in argl]] + [functorName,:[newExpandLocalTypeArgs(a,dollar,domain,true) for a in argl]] functorName = 'QUOTE => [functorName,:argl] coSig := GETDATABASE(functorName,'COSIG) NULL coSig => error ["bad functorName", functorName] [functorName,:[newExpandLocalTypeArgs(a,dollar,domain,flag) for a in argl for flag in rest coSig]] ---------------------> NEW DEFINITION (override in xrun.boot.pamphlet) newExpandLocalTypeArgs(u,dollar,domain,typeFlag) == - u = '$ => dollar.0 -------eliminate this as $ is rep by 0 + u = '$ => u INTEGERP u => typeFlag => newExpandTypeSlot(u, dollar,domain) domain.u u is ['NRTEVAL,y] => nrtEval(y,domain) u is ['QUOTE,y] => y + u = "$$" => domain.0 atom u => u --can be first, rest, etc. newExpandLocalTypeForm(u,dollar,domain) ---------------------> NEW DEFINITION (override in xrun.boot.pamphlet) nrtEval(expr,dom) == $:fluid := dom eval expr @@ -576,8 +573,14 @@ domainVal(dollar,domain,index) == index = 0 => dollar index = 2 => domain domain.index - - + +-- ??? This function should be merged into the preceding one. +sigDomainVal(dollar,domain,index) == +--returns a domain or a lazy slot + index = 0 => "$" + index = 2 => domain + domain.index + --======================================================= -- Convert Lazy Domain to Domain Form --======================================================= |