aboutsummaryrefslogtreecommitdiff
path: root/src/interp/cattable.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-09-30 12:49:45 +0000
committerdos-reis <gdr@axiomatics.org>2011-09-30 12:49:45 +0000
commit09ad07bc33ad4ce8d7e4ac1f9e5bb5e7cb9a9498 (patch)
tree1e856a205222688e4e05c7521f21e6166bb7fbfd /src/interp/cattable.boot
parent1dad9f2ee595ae4255a7afecc249c4d4a02e148a (diff)
downloadopen-axiom-09ad07bc33ad4ce8d7e4ac1f9e5bb5e7cb9a9498.tar.gz
* interp/br-data.boot (lefts): Iterate directly over table.
(mkUsersHashTable): Likewise. (mkDependentsHashTable): Likewise. (domainsOf): Likewise. * interp/br-op1.boot (dbShowOpAllDomains): Likewise. * interp/cattable.boot (showCategoryTable): Likewise. (displayCategoryTable): Likewise. (simpTempCategoryTable): Likewise. (simpCategoryTable): Likewise. (genTempCategoryTable): Likewise. (compressHashTable): Likewise. (updateCategoryTableForCategory): Likewise. (clearTempCategoryTable): Likewise. * interp/clam.boot (displayHashtable): Likewise. (reportHashCacheStats): Likewise. (reportInstantiations): Likewise. (globalHashtableStats): Likewise. * interp/guess.boot (buildWordTable): Likewise. * interp/i-syscmd.boot (writify): Likewise. * interp/scan.boot (scanDictCons): Likewise. (scanPunCons): Likewise. * interp/slam.boot (hashCount): Likewise. * interp/topics.boot (mkTopicHashTable): Likewise. (addTopic2Documentation): Likewise. (topics): Likewise. (listOfTopics): Likewise. * interp/word.boot (buildWordTable): Likewise. (writeFunctionTables): Likewise. (bootSearch): Likewise.
Diffstat (limited to 'src/interp/cattable.boot')
-rw-r--r--src/interp/cattable.boot26
1 files changed, 12 insertions, 14 deletions
diff --git a/src/interp/cattable.boot b/src/interp/cattable.boot
index 00505e8f..9a4e4d2d 100644
--- a/src/interp/cattable.boot
+++ b/src/interp/cattable.boot
@@ -43,17 +43,17 @@ hasCat(dom,cat) ==
or constructorHasCategoryFromDB [dom.op,:cat.op]
showCategoryTable con ==
- [[b,:val] for (key :=[a,:b]) in HKEYS _*HASCATEGORY_-HASH_*
- | symbolEq?(a,con) and (val := tableValue(_*HASCATEGORY_-HASH_*,key))]
+ [[b,:val] for [[a,:b],:val] in entries _*HASCATEGORY_-HASH_*
+ | symbolEq?(a,con) and val ~= nil]
displayCategoryTable(:options) ==
conList := IFCAR options
SETQ($ct,hashTable 'EQ)
- for (key:=[a,:b]) in HKEYS _*HASCATEGORY_-HASH_* repeat
- tableValue($ct,a) := [[b,:tableValue(_*HASCATEGORY_-HASH_*,key)],:tableValue($ct,a)]
- for id in HKEYS $ct | null conList or symbolMember?(id,conList) repeat
+ for [[a,:b],:val] in entries _*HASCATEGORY_-HASH_* repeat
+ tableValue($ct,a) := [[b,:val],:tableValue($ct,a)]
+ for [id,:val] in entries $ct | null conList or symbolMember?(id,conList) repeat
sayMSG [:bright id,'"extends:"]
- PRINT tableValue($ct,id)
+ PRINT val
genCategoryTable() ==
SETQ(_*ANCESTORS_-HASH_*, hashTable 'EQ)
@@ -75,14 +75,13 @@ genCategoryTable() ==
-- compressHashTable _*HASCATEGORY_-HASH_*
simpTempCategoryTable() ==
- for id in HKEYS _*ANCESTORS_-HASH_* repeat
+ for [id,:.] in entries _*ANCESTORS_-HASH_* repeat
for (u:=[a,:b]) in getConstructorAncestorsFromDB id repeat
u.rest := simpHasPred b
simpCategoryTable() == main where
main() ==
- for key in HKEYS _*HASCATEGORY_-HASH_* repeat
- entry := tableValue(_*HASCATEGORY_-HASH_*,key)
+ for [key,:entry] in entries _*HASCATEGORY_-HASH_* repeat
null entry => tableRemove!(_*HASCATEGORY_-HASH_*,key)
change :=
opOf entry isnt [.,:.] => simpHasPred entry
@@ -195,8 +194,7 @@ genTempCategoryTable() ==
for con in allConstructors() repeat
getConstructorKindFromDB con is "category" =>
addToCategoryTable con
- for id in HKEYS _*ANCESTORS_-HASH_* repeat
- item := tableValue(_*ANCESTORS_-HASH_*, id)
+ for [id,:item] in entries _*ANCESTORS_-HASH_* repeat
for (u:=[.,:b]) in item repeat
u.rest := simpCatPredicate simpBool b
tableValue(_*ANCESTORS_-HASH_*,id) := listSort(function GLESSEQP,item)
@@ -416,7 +414,7 @@ compressHashTable ht ==
-- compresses hash table ht, to give maximal sharing of cells
sayBrightlyNT '"compressing hash table..."
$found: local := hashTable 'EQUAL
- for x in HKEYS ht repeat compressSexpr(tableValue(ht,x),nil,nil)
+ for [x,:y] in entries ht repeat compressSexpr(y,nil,nil)
sayBrightly "done"
ht
@@ -466,7 +464,7 @@ updateCategoryTable(cname,kind) ==
updateCategoryTableForCategory(cname) ==
clearTempCategoryTable([[cname,'category]])
addToCategoryTable(cname)
- for id in HKEYS _*ANCESTORS_-HASH_* repeat
+ for [id,:.] in entries _*ANCESTORS_-HASH_* repeat
for (u:=[.,:b]) in getConstructorAncestorsFromDB id repeat
u.rest := simpCatPredicate simpBool b
@@ -486,7 +484,7 @@ clearCategoryTable1(key,val) ==
nil
clearTempCategoryTable(catNames) ==
- for key in HKEYS(_*ANCESTORS_-HASH_*) repeat
+ for [key,:.] in entries _*ANCESTORS_-HASH_* repeat
symbolMember?(key,catNames) => nil
extensions:= nil
for (extension:= [catForm,:.]) in getConstructorAncestorsFromDB key