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/nrunopt.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/nrunopt.boot.pamphlet')
-rw-r--r-- | src/interp/nrunopt.boot.pamphlet | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/interp/nrunopt.boot.pamphlet b/src/interp/nrunopt.boot.pamphlet index 672131fc..803828da 100644 --- a/src/interp/nrunopt.boot.pamphlet +++ b/src/interp/nrunopt.boot.pamphlet @@ -359,32 +359,32 @@ bitsOf n == --======================================================================= -- Generate Slot 4 Constructor Vectors --======================================================================= ---------------------> NEW DEFINITION (override in xrun.boot.pamphlet) NRTmakeCategoryAlist() == $depthAssocCache: local := MAKE_-HASHTABLE 'ID - pcAlist := [:[[x,:'T] for x in $uncondAlist],:$condAlist] + $catAncestorAlist: local := NIL + pcAlist := [:[[x,:"T"] for x in $uncondAlist],:$condAlist] $levelAlist: local := depthAssocList [CAAR x for x in pcAlist] opcAlist := NREVERSE SORTBY(function NRTcatCompare,pcAlist) newPairlis := [[5 + i,:b] for [.,:b] in $pairlis for i in 1..] - slot1 := [[a,:k] for [a,:b] in SUBLIS($pairlis,opcAlist) + slot1 := [[a,:k] for [a,:b] in SUBLIS($pairlis,opcAlist) | (k := predicateBitIndex b) ^= -1] slot0 := [hasDefaultPackage opOf a for [a,:b] in slot1] sixEtc := [5 + i for i in 1..#$pairlis] formals := ASSOCRIGHT $pairlis - for x in slot1 repeat RPLACA(x,EQSUBSTLIST(sixEtc,formals,CAR x)) - -----------code to make a new style slot4----------------- + for x in slot1 repeat + RPLACA(x,EQSUBSTLIST(CONS("$$",sixEtc),CONS('$,formals),CAR x)) + -----------code to make a new style slot4 ----------------- predList := ASSOCRIGHT slot1 --is list of predicate indices maxPredList := "MAX"/predList catformvec := ASSOCLEFT slot1 maxElement := "MAX"/$byteVec - ['CONS, ['makeByteWordVec2,MAX(maxPredList,1),MKQ predList], - ['CONS, MKQ LIST2VEC slot0, + ['CONS, ['makeByteWordVec2,MAX(maxPredList,1),MKQ predList], + ['CONS, MKQ LIST2VEC slot0, ['CONS, MKQ LIST2VEC [encodeCatform x for x in catformvec], ['makeByteWordVec2,maxElement,MKQ $byteVec]]]] --NOTE: this is new form: old form satisfies VECP CDDR form ---------------------> NEW DEFINITION (override in xrun.boot.pamphlet) -encodeCatform x == +encodeCatform x == k := NRTassocIndex x => k atom x or atom rest x => x [first x,:[encodeCatform y for y in rest x]] |