From: Benjamin Pollack Date: Wed, 16 Dec 2020 21:08:46 +0000 (-0500) Subject: assocs: rename assoc-combine/refine to assoc-union-all/intersect-all X-Git-Tag: 0.99~1650 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=950ead9bb9b24506989910463a4616d93ec5c7ed assocs: rename assoc-combine/refine to assoc-union-all/intersect-all This is the second half of 2abb328052 --- diff --git a/basis/compiler/cfg/dataflow-analysis/dataflow-analysis.factor b/basis/compiler/cfg/dataflow-analysis/dataflow-analysis.factor index e30370ad1a..05a22dbb45 100644 --- a/basis/compiler/cfg/dataflow-analysis/dataflow-analysis.factor +++ b/basis/compiler/cfg/dataflow-analysis/dataflow-analysis.factor @@ -55,7 +55,7 @@ MIXIN: dataflow-analysis in-sets out-sets ; inline -M: dataflow-analysis join-sets 2drop assoc-refine ; +M: dataflow-analysis join-sets 2drop assoc-intersect-all ; M: dataflow-analysis ignore-block? drop kill-block?>> ; > [ live-in ] map ] [ dup successors>> [ edge-live-in ] with map ] bi - append assoc-combine ; + append assoc-union-all ; : update-live-out ( basic-block -- changed? ) [ compute-live-out ] keep diff --git a/basis/compiler/compiler.factor b/basis/compiler/compiler.factor index bb41c11f8c..5b6bed1343 100644 --- a/basis/compiler/compiler.factor +++ b/basis/compiler/compiler.factor @@ -167,7 +167,7 @@ M: optimizing-compiler to-recompile ( -- words ) outdated-conditional-usages % changed-definitions get filter-word-defs dup zip , - ] { } make assoc-combine keys ; + ] { } make assoc-union-all keys ; M: optimizing-compiler process-forgotten-words [ delete-compiled-xref ] each ; diff --git a/core/assocs/assocs-docs.factor b/core/assocs/assocs-docs.factor index c77440096c..34e637ced7 100644 --- a/core/assocs/assocs-docs.factor +++ b/core/assocs/assocs-docs.factor @@ -124,7 +124,7 @@ ARTICLE: "assocs-conversions" "Associative mapping conversions" "Converting to other assocs:" { $subsections assoc-clone-like } "Combining a sequence of assocs into a single assoc:" -{ $subsections assoc-combine } +{ $subsections assoc-union-all } "Creating an assoc from key/value sequences:" { $subsections zip zip-as } "Creating an assoc from key/value sequences and their indices:" @@ -332,7 +332,7 @@ HELP: assoc-all? { $values { "assoc" assoc } { "quot" { $quotation ( ... key value -- ... ? ) } } { "?" boolean } } { $description "Tests if all entries in the assoc satisfy a predicate by applying the quotation to each entry in turn. a predicate quotation to entry in the assoc. Iteration stops if an entry is found for which the quotation outputs " { $link f } ". If the assoc is empty, always outputs " { $link t } "." } ; -HELP: assoc-refine +HELP: assoc-intersect-all { $values { "seq" sequence } { "assoc" assoc } } { $description "Outputs the intersection of all the assocs of the assocs sequence " { $snippet "seq" } ", or " { $link f } " if " { $snippet "seq" } " is empty." } ; @@ -513,12 +513,12 @@ HELP: assoc-clone-like { $description "Outputs a newly-allocated assoc with the same elements as " { $snippet "assoc" } "." } { $examples { $example "USING: prettyprint assocs hashtables ;" "H{ { 1 2 } { 3 4 } } { } assoc-clone-like ." "{ { 1 2 } { 3 4 } }" } } ; -HELP: assoc-combine +HELP: assoc-union-all { $values { "seq" "a sequence of assocs" } { "union" assoc } } { $description "Takes the union of all of the " { $snippet "assocs" } " in " { $snippet "seq" } "." } -{ $examples { $example "USING: prettyprint assocs ;" "{ H{ { 1 2 } } H{ { 3 4 } } } assoc-combine ." "H{ { 1 2 } { 3 4 } }" } } ; +{ $examples { $example "USING: prettyprint assocs ;" "{ H{ { 1 2 } } H{ { 3 4 } } } assoc-union-all ." "H{ { 1 2 } { 3 4 } }" } } ; HELP: assoc-map-as { $values diff --git a/core/assocs/assocs-tests.factor b/core/assocs/assocs-tests.factor index 152ad82c84..4b03479044 100644 --- a/core/assocs/assocs-tests.factor +++ b/core/assocs/assocs-tests.factor @@ -200,7 +200,7 @@ unit-test H{ { 1 3 } } H{ { 2 3 } } H{ { 1 2 } } - } assoc-combine + } assoc-union-all ] unit-test { H{ { 1 7 } } } [ @@ -208,7 +208,7 @@ unit-test H{ { 1 2 } { 2 4 } { 5 6 } } H{ { 1 3 } { 2 5 } } H{ { 1 7 } { 5 6 } } - } assoc-refine + } assoc-intersect-all ] unit-test { f } [ "a" { } assoc-stack ] unit-test diff --git a/core/assocs/assocs.factor b/core/assocs/assocs.factor index a199abb2dc..003b2a4a1a 100644 --- a/core/assocs/assocs.factor +++ b/core/assocs/assocs.factor @@ -166,10 +166,10 @@ M: assoc values [ nip ] { } assoc>map ; : assoc-union ( assoc1 assoc2 -- union ) over assoc-union-as ; -: assoc-combine ( seq -- union ) +: assoc-union-all ( seq -- union ) H{ } clone [ assoc-union! ] reduce ; -: assoc-refine ( seq -- assoc ) +: assoc-intersect-all ( seq -- assoc ) [ f ] [ [ ] [ assoc-intersect ] map-reduce ] if-empty ; : assoc-differ ( key -- quot ) diff --git a/extra/mongodb/tuple/collection/collection.factor b/extra/mongodb/tuple/collection/collection.factor index b442b36506..1d7f25bd0c 100644 --- a/extra/mongodb/tuple/collection/collection.factor +++ b/extra/mongodb/tuple/collection/collection.factor @@ -67,10 +67,10 @@ GENERIC: mdb-index-map ( tuple -- sequence ) [ superclass-of [ (mdb-collection) ] [ f ] if* ] if* ; inline recursive : (mdb-slot-map) ( class -- slot-map ) - superclasses-of [ MDB_SLOTDEF_MAP word-prop ] map assoc-combine ; inline + superclasses-of [ MDB_SLOTDEF_MAP word-prop ] map assoc-union-all ; inline : (mdb-index-map) ( class -- index-map ) - superclasses-of [ MDB_INDEX_MAP word-prop ] map assoc-combine ; inline + superclasses-of [ MDB_INDEX_MAP word-prop ] map assoc-union-all ; inline : split-optl ( seq -- key options ) [ first ] [ rest ] bi ; inline @@ -120,7 +120,7 @@ PRIVATE> : set-index-map ( class index-list -- ) [ dup user-defined-key-index ] dip index-list>map 2array - assoc-combine MDB_INDEX_MAP set-word-prop ; inline + assoc-union-all MDB_INDEX_MAP set-word-prop ; inline M: tuple-class tuple-collection ( tuple -- mdb-collection ) (mdb-collection) ; @@ -135,14 +135,14 @@ M: tuple-class mdb-slot-map ( class -- assoc ) (mdb-slot-map) ; M: mdb-collection mdb-slot-map ( collection -- assoc ) - classes>> [ mdb-slot-map ] map assoc-combine ; + classes>> [ mdb-slot-map ] map assoc-union-all ; M: mdb-persistent mdb-index-map class-of (mdb-index-map) ; M: tuple-class mdb-index-map (mdb-index-map) ; M: mdb-collection mdb-index-map - classes>> [ mdb-index-map ] map assoc-combine ; + classes>> [ mdb-index-map ] map assoc-union-all ; match - (^|(?<=\s))(>alist|<enum>|2cache|\?at|\?of|assoc|assoc>map|assoc-all\?|assoc-any\?|assoc-clone-like|assoc-combine|assoc-diff|assoc-diff!|assoc-differ|assoc-each|assoc-empty\?|assoc-filter|assoc-filter!|assoc-filter-as|assoc-find|assoc-hashcode|assoc-intersect|assoc-like|assoc-map|assoc-map-as|assoc-partition|assoc-refine|assoc-size|assoc-stack|assoc-subset\?|assoc-union|assoc-union!|assoc=|assoc\?|at|at\*|at\+|cache|change-at|clear-assoc|delete-at|delete-at\*|enum|enum\?|extract-keys|inc-at|key\?|keys|map>assoc|maybe-set-at|new-assoc|of|push-at|rename-at|set-at|sift-keys|sift-values|substitute|unzip|value-at|value-at\*|value\?|values|zip|zip-as|zip-index|zip-index-as)(\s|$) + (^|(?<=\s))(>alist|<enum>|2cache|\?at|\?of|assoc|assoc>map|assoc-all\?|assoc-any\?|assoc-clone-like|assoc-union-all|assoc-diff|assoc-diff!|assoc-differ|assoc-each|assoc-empty\?|assoc-filter|assoc-filter!|assoc-filter-as|assoc-find|assoc-hashcode|assoc-intersect|assoc-like|assoc-map|assoc-map-as|assoc-partition|assoc-intersect-all|assoc-size|assoc-stack|assoc-subset\?|assoc-union|assoc-union!|assoc=|assoc\?|at|at\*|at\+|cache|change-at|clear-assoc|delete-at|delete-at\*|enum|enum\?|extract-keys|inc-at|key\?|keys|map>assoc|maybe-set-at|new-assoc|of|push-at|rename-at|set-at|sift-keys|sift-values|substitute|unzip|value-at|value-at\*|value\?|values|zip|zip-as|zip-index|zip-index-as)(\s|$) name keyword.control.assocs.factor diff --git a/misc/atom/grammars/factor.cson b/misc/atom/grammars/factor.cson index e0200c2843..2673abb4a7 100644 --- a/misc/atom/grammars/factor.cson +++ b/misc/atom/grammars/factor.cson @@ -81,7 +81,7 @@ patterns: [ name: "keyword.control.namespaces.factor" } { - match: "(^|(?<=\\s))(>alist||2cache|\\?at|\\?of|assoc|assoc>map|assoc-all\\?|assoc-any\\?|assoc-clone-like|assoc-combine|assoc-diff|assoc-diff!|assoc-differ|assoc-each|assoc-empty\\?|assoc-filter|assoc-filter!|assoc-filter-as|assoc-find|assoc-hashcode|assoc-intersect|assoc-like|assoc-map|assoc-map-as|assoc-partition|assoc-refine|assoc-size|assoc-stack|assoc-subset\\?|assoc-union|assoc-union!|assoc=|assoc\\?|at|at\\*|at\\+|cache|change-at|clear-assoc|delete-at|delete-at\\*|enum|enum\\?|extract-keys|inc-at|key\\?|keys|map>assoc|maybe-set-at|new-assoc|of|push-at|rename-at|set-at|sift-keys|sift-values|substitute|unzip|value-at|value-at\\*|value\\?|values|zip|zip-as|zip-index|zip-index-as)(\\s|$)" + match: "(^|(?<=\\s))(>alist||2cache|\\?at|\\?of|assoc|assoc>map|assoc-all\\?|assoc-any\\?|assoc-clone-like|assoc-union-all|assoc-diff|assoc-diff!|assoc-differ|assoc-each|assoc-empty\\?|assoc-filter|assoc-filter!|assoc-filter-as|assoc-find|assoc-hashcode|assoc-intersect|assoc-like|assoc-map|assoc-map-as|assoc-partition|assoc-intersect-all|assoc-size|assoc-stack|assoc-subset\\?|assoc-union|assoc-union!|assoc=|assoc\\?|at|at\\*|at\\+|cache|change-at|clear-assoc|delete-at|delete-at\\*|enum|enum\\?|extract-keys|inc-at|key\\?|keys|map>assoc|maybe-set-at|new-assoc|of|push-at|rename-at|set-at|sift-keys|sift-values|substitute|unzip|value-at|value-at\\*|value\\?|values|zip|zip-as|zip-index|zip-index-as)(\\s|$)" name: "keyword.control.assocs.factor" } {