From 2d34342bb97f11b6a1e09fa594cc0eeb69771172 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Sat, 23 Jul 2022 10:52:13 -0500 Subject: [PATCH] core: map-integers -> map-integers-as Follow our naming scheme for words that take exemplars. --- basis/checksums/murmur/murmur-tests.factor | 4 ++-- .../superfast/superfast-tests.factor | 4 ++-- basis/columns/columns.factor | 2 +- basis/core-foundation/arrays/arrays.factor | 2 +- .../cuckoo-filters-tests.factor | 2 +- basis/db/db.factor | 4 ++-- basis/db/sqlite/lib/lib.factor | 2 +- basis/fixups/fixups.factor | 3 +++ .../generalizations/generalizations.factor | 6 ++--- basis/sequences/unrolled/unrolled-docs.factor | 6 ++--- basis/sequences/unrolled/unrolled.factor | 6 ++--- basis/sequences/windowed/windowed.factor | 2 +- core/sequences/sequences-tests.factor | 2 +- core/sequences/sequences.factor | 24 ++++++++++++------- .../base32-crockford/base32-crockford.factor | 2 +- extra/geohash/geohash.factor | 2 +- extra/math/analysis/analysis.factor | 2 +- extra/sequences/extras/extras.factor | 8 +++---- 18 files changed, 46 insertions(+), 37 deletions(-) diff --git a/basis/checksums/murmur/murmur-tests.factor b/basis/checksums/murmur/murmur-tests.factor index e4a3532b87..2d29861706 100644 --- a/basis/checksums/murmur/murmur-tests.factor +++ b/basis/checksums/murmur/murmur-tests.factor @@ -25,13 +25,13 @@ sequences tools.test ; } } [ "1234567890" [ length 1 + ] keep 156 - '[ _ swap head _ checksum-bytes ] { } map-integers + '[ _ swap head _ checksum-bytes ] map-integers ] unit-test { t } [ "1234567890" dup >byte-array [ [ length 1 + ] keep 156 - '[ _ swap head _ checksum-bytes ] { } map-integers + '[ _ swap head _ checksum-bytes ] map-integers ] bi@ = ] unit-test diff --git a/basis/checksums/superfast/superfast-tests.factor b/basis/checksums/superfast/superfast-tests.factor index 499b550367..0e65c2aad2 100644 --- a/basis/checksums/superfast/superfast-tests.factor +++ b/basis/checksums/superfast/superfast-tests.factor @@ -17,13 +17,13 @@ sequences tools.test ; } } [ "1234567890" [ length 1 + ] keep 0 - '[ _ swap head _ checksum-bytes ] { } map-integers + '[ _ swap head _ checksum-bytes ] map-integers ] unit-test { t } [ "1234567890" dup >byte-array [ [ length 1 + ] keep 0 - '[ _ swap head _ checksum-bytes ] { } map-integers + '[ _ swap head _ checksum-bytes ] map-integers ] bi@ = ] unit-test diff --git a/basis/columns/columns.factor b/basis/columns/columns.factor index c36505ab6d..bd0015c89f 100644 --- a/basis/columns/columns.factor +++ b/basis/columns/columns.factor @@ -15,4 +15,4 @@ M: column length seq>> length ; INSTANCE: column virtual-sequence : ( seq -- seq' ) - dup empty? [ dup first length [ ] with { } map-integers ] unless ; + dup empty? [ dup first length [ ] with map-integers ] unless ; diff --git a/basis/core-foundation/arrays/arrays.factor b/basis/core-foundation/arrays/arrays.factor index 71b02c2f8b..bdd98c22f0 100644 --- a/basis/core-foundation/arrays/arrays.factor +++ b/basis/core-foundation/arrays/arrays.factor @@ -16,7 +16,7 @@ FUNCTION: CFIndex CFArrayGetCount ( CFArrayRef array ) : CF>array ( alien -- array ) dup CFArrayGetCount - [ CFArrayGetValueAtIndex ] with { } map-integers ; + [ CFArrayGetValueAtIndex ] with map-integers ; : ( seq -- alien ) f over length &: kCFTypeArrayCallBacks CFArrayCreateMutable diff --git a/basis/cuckoo-filters/cuckoo-filters-tests.factor b/basis/cuckoo-filters/cuckoo-filters-tests.factor index af2d363b07..4006239f9b 100644 --- a/basis/cuckoo-filters/cuckoo-filters-tests.factor +++ b/basis/cuckoo-filters/cuckoo-filters-tests.factor @@ -14,7 +14,7 @@ cuckoo-filters kernel math.parser sequences tools.test ; { 250,000 250,000 0 } [ 250,000 - 250,000 [ number>string ] { } map-integers + 250,000 [ number>string ] map-integers [ [ { diff --git a/basis/db/db.factor b/basis/db/db.factor index 6f9c448382..ed3e953566 100644 --- a/basis/db/db.factor +++ b/basis/db/db.factor @@ -99,10 +99,10 @@ M: object execute-statement* t >>bound? drop ; : sql-row ( result-set -- seq ) - dup #columns [ row-column ] with { } map-integers ; + dup #columns [ row-column ] with map-integers ; : sql-row-typed ( result-set -- seq ) - dup #columns [ row-column-typed ] with { } map-integers ; + dup #columns [ row-column-typed ] with map-integers ; : query-each ( result-set quot: ( row -- ) -- ) over more-rows? [ diff --git a/basis/db/sqlite/lib/lib.factor b/basis/db/sqlite/lib/lib.factor index d324fee763..9116f0c872 100644 --- a/basis/db/sqlite/lib/lib.factor +++ b/basis/db/sqlite/lib/lib.factor @@ -186,7 +186,7 @@ ERROR: sqlite-error < db-error n string ; } case ; : sqlite-row ( handle -- seq ) - dup sqlite-#columns [ sqlite-column ] with { } map-integers ; + dup sqlite-#columns [ sqlite-column ] with map-integers ; : sqlite-step-has-more-rows? ( prepared -- ? ) { diff --git a/basis/fixups/fixups.factor b/basis/fixups/fixups.factor index 77b3ca7458..096cd4286f 100644 --- a/basis/fixups/fixups.factor +++ b/basis/fixups/fixups.factor @@ -42,9 +42,12 @@ CONSTANT: word-renames { { "git-checkout-existing-branch" { "git-checkout-existing" "0.99" } } { "git-checkout-existing-branch*" { "git-checkout-existing*" "0.99" } } { "tags" { "chloe-tags" "0.99" } } + { "(each)" { "sequence-operator" "0.99" } } { "(each-integer)" { "each-integer-from" "0.99" } } { "(find-integer)" { "find-integer-from" "0.99" } } { "(all-integers?)" { "all-integers-from?" "0.99" } } + { "short" { "cramp" "0.99" } } + { "map-integers" { "map-integers-as" "0.99" } } } : compute-assoc-fixups ( continuation name assoc -- seq ) diff --git a/basis/sequences/generalizations/generalizations.factor b/basis/sequences/generalizations/generalizations.factor index 415ec88800..33216b5da2 100644 --- a/basis/sequences/generalizations/generalizations.factor +++ b/basis/sequences/generalizations/generalizations.factor @@ -66,7 +66,7 @@ MACRO: nset-nth-unsafe ( n -- quot ) (neach) each-integer ; inline : nmap-as ( seq... quot exemplar n -- result ) - '[ _ (neach) ] dip map-integers ; inline + '[ _ (neach) ] dip map-integers-as ; inline : nmap ( seq... quot n -- result ) dup '[ [ _ npick ] dip swap ] dip nmap-as ; inline @@ -91,12 +91,12 @@ MACRO: (ncollect) ( n -- quot ) : ncollect ( len quot into... n -- ) (ncollect) each-integer ; inline -: nmap-integers ( len quot exemplar... n -- result... ) +: nmap-integers-as ( len quot exemplar... n -- result... ) 4 dupn '[ [ over ] _ ndip [ [ _ ncollect ] _ nkeep ] _ nnew-like ] call ; inline : mnmap-as ( m*seq quot n*exemplar m n -- result*n ) - dup '[ [ _ (neach) ] _ ndip _ nmap-integers ] call ; inline + dup '[ [ _ (neach) ] _ ndip _ nmap-integers-as ] call ; inline : mnmap ( m*seq quot m n -- result*n ) 2dup '[ [ _ npick ] dip swap _ dupn ] 2dip mnmap-as ; inline diff --git a/basis/sequences/unrolled/unrolled-docs.factor b/basis/sequences/unrolled/unrolled-docs.factor index 35005818d2..ab90a803a2 100644 --- a/basis/sequences/unrolled/unrolled-docs.factor +++ b/basis/sequences/unrolled/unrolled-docs.factor @@ -66,11 +66,11 @@ HELP: unrolled-map-index } { $description "Unrolled version of " { $link map-index } " that maps over the first " { $snippet "len" } " elements of " { $snippet "seq" } ". " { $snippet "len" } " must be a compile-time constant. If " { $snippet "seq" } " has fewer than " { $snippet "len" } " elements, raises an " { $link unrolled-bounds-error } "." } ; -HELP: unrolled-map-integers +HELP: unrolled-map-integers-as { $values { "n" integer } { "quot" { $quotation ( n -- value ) } } { "exemplar" sequence } { "newseq" sequence } } -{ $description "Unrolled version of " { $link map-integers } ". " { $snippet "n" } " must be a compile-time constant." } ; +{ $description "Unrolled version of " { $link map-integers-as } ". " { $snippet "n" } " must be a compile-time constant." } ; ARTICLE: "sequences.unrolled" "Unrolled sequence iteration combinators" "The " { $vocab-link "sequences.unrolled" } " vocabulary provides versions of some of the " { $link "sequences-combinators" } " that unroll their loops, that is, expand to a constant number of repetitions of a quotation rather than an explicit loop. These unrolled combinators all require a constant integer value to indicate the number of unrolled iterations to perform." @@ -89,7 +89,7 @@ $nl "Unrolled versions of low-level iteration combinators:" { $subsections unrolled-each-integer - unrolled-map-integers + unrolled-map-integers-as unrolled-collect } ; diff --git a/basis/sequences/unrolled/unrolled.factor b/basis/sequences/unrolled/unrolled.factor index a6a408f714..b748b9ffd2 100644 --- a/basis/sequences/unrolled/unrolled.factor +++ b/basis/sequences/unrolled/unrolled.factor @@ -24,7 +24,7 @@ PRIVATE> : unrolled-collect ( n quot: ( n -- value ) into -- ) (unrolled-collect) unrolled-each-integer ; inline -: unrolled-map-integers ( n quot: ( n -- value ) exemplar -- newseq ) +: unrolled-map-integers-as ( n quot: ( n -- value ) exemplar -- newseq ) overd [ [ unrolled-collect ] keep ] new-like ; inline ERROR: unrolled-bounds-error @@ -61,10 +61,10 @@ ERROR: unrolled-2bounds-error (unrolled-each-index) unrolled-each-integer ; inline : unrolled-map-as-unsafe ( seq len quot: ( x -- newx ) exemplar -- newseq ) - [ (unrolled-each) ] dip unrolled-map-integers ; inline + [ (unrolled-each) ] dip unrolled-map-integers-as ; inline : unrolled-2map-as-unsafe ( xseq yseq len quot: ( x y -- newx ) exemplar -- newseq ) - [ (unrolled-2each) ] dip unrolled-map-integers ; inline + [ (unrolled-2each) ] dip unrolled-map-integers-as ; inline : unrolled-map-unsafe ( seq len quot: ( x -- newx ) -- newseq ) pick unrolled-map-as-unsafe ; inline diff --git a/basis/sequences/windowed/windowed.factor b/basis/sequences/windowed/windowed.factor index 6300d379d7..1d0c8f9821 100644 --- a/basis/sequences/windowed/windowed.factor +++ b/basis/sequences/windowed/windowed.factor @@ -27,7 +27,7 @@ M: windowed-sequence length :: rolling-map ( ... seq n quot: ( ... slice -- ... elt ) -- ... newseq ) seq length [ 1 + [ n [-] ] [ seq ] bi quot call - ] { } map-integers ; inline + ] map-integers ; inline : rolling-sum ( seq n -- newseq ) [ sum ] rolling-map ; diff --git a/core/sequences/sequences-tests.factor b/core/sequences/sequences-tests.factor index bc88d8c02e..3b33a7cb6f 100644 --- a/core/sequences/sequences-tests.factor +++ b/core/sequences/sequences-tests.factor @@ -171,7 +171,7 @@ IN: sequences.tests { { 1 3 2 4 } } [ { 1 2 3 4 } clone 1 2 pick exchange ] unit-test { { "" "a" "aa" "aaa" } } -[ 4 [ CHAR: a ] { } map-integers ] +[ 4 [ CHAR: a ] map-integers ] unit-test { V{ 1 3 5 7 9 } } [ 10 >vector [ even? ] reject! ] unit-test diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index 4b47ef755f..f72ba253ef 100644 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -466,10 +466,10 @@ PRIVATE> [ 2dup bounds-check? ] 2dip '[ _ _ (find-index) ] [ 2drop f f ] if ; inline -: (accumulate) ( seq identity quot -- identity seq quot ) +: (accumulate) ( seq identity quot -- identity seq quot' ) swapd [ keepd ] curry ; inline -: (accumulate*) ( seq identity quot -- identity seq quot ) +: (accumulate*) ( seq identity quot -- identity seq quot' ) swapd [ dup ] compose ; inline PRIVATE> @@ -483,17 +483,23 @@ PRIVATE> : reduce ( ... seq identity quot: ( ... prev elt -- ... next ) -- ... result ) swapd each ; inline -: map-integers ( ... len quot: ( ... i -- ... elt ) exemplar -- ... newseq ) +: map-integers-as ( ... len quot: ( ... i -- ... elt ) exemplar -- ... newseq ) overd [ [ collect ] keep ] new-like ; inline +: map-integers ( ... len quot: ( ... i -- ... elt ) -- ... newseq ) + { } map-integers-as ; inline + +! : map-integers ( ... len quot: ( ... i -- ... elt ) exemplar -- ... newseq ) +! overd [ [ collect ] keep ] new-like ; inline + : map-as ( ... seq quot: ( ... elt -- ... newelt ) exemplar -- ... newseq ) - [ length-operator ] dip map-integers ; inline + [ length-operator ] dip map-integers-as ; inline : map ( ... seq quot: ( ... elt -- ... newelt ) -- ... newseq ) over map-as ; inline : replicate-as ( ... len quot: ( ... -- ... newelt ) exemplar -- ... newseq ) - [ [ drop ] prepose ] dip map-integers ; inline + [ [ drop ] prepose ] dip map-integers-as ; inline : replicate ( ... len quot: ( ... -- ... newelt ) -- ... newseq ) { } replicate-as ; inline @@ -529,7 +535,7 @@ PRIVATE> -rotd 2each ; inline : 2map-as ( ... seq1 seq2 quot: ( ... elt1 elt2 -- ... newelt ) exemplar -- ... newseq ) - [ (2each) ] dip map-integers ; inline + [ (2each) ] dip map-integers-as ; inline : 2map ( ... seq1 seq2 quot: ( ... elt1 elt2 -- ... newelt ) -- ... newseq ) pick 2map-as ; inline @@ -544,7 +550,7 @@ PRIVATE> (3each) each-integer ; inline : 3map-as ( ... seq1 seq2 seq3 quot: ( ... elt1 elt2 elt3 -- ... newelt ) exemplar -- ... newseq ) - [ (3each) ] dip map-integers ; inline + [ (3each) ] dip map-integers-as ; inline : 3map ( ... seq1 seq2 seq3 quot: ( ... elt1 elt2 elt3 -- ... newelt ) -- ... newseq ) pickd swap 3map-as ; inline @@ -1180,14 +1186,14 @@ PRIVATE> : generic-flip ( matrix -- newmatrix ) [ [ length ] [ min ] map-reduce ] keep - '[ _ [ nth-unsafe ] with { } map-as ] { } map-integers ; inline + '[ _ [ nth-unsafe ] with { } map-as ] map-integers ; inline USE: arrays : array-flip ( matrix -- newmatrix ) { array } declare [ [ { array } declare length>> ] [ min ] map-reduce ] keep - '[ _ [ { array } declare array-nth ] with { } map-as ] { } map-integers ; + '[ _ [ { array } declare array-nth ] with { } map-as ] map-integers ; PRIVATE> diff --git a/extra/base32-crockford/base32-crockford.factor b/extra/base32-crockford/base32-crockford.factor index acbd77cde4..575cf2d717 100644 --- a/extra/base32-crockford/base32-crockford.factor +++ b/extra/base32-crockford/base32-crockford.factor @@ -11,7 +11,7 @@ IN: base32-crockford CONSTANT: ALPHABET $[ "0123456789ABCDEFGHJKMNPQRSTVWXYZ" >byte-array ] >> -CONSTANT: INVERSE $[ 256 [ ALPHABET index 0xff or ] B{ } map-integers ] +CONSTANT: INVERSE $[ 256 [ ALPHABET index 0xff or ] B{ } map-integers-as ] CONSTANT: CHECKSUM $[ ALPHABET "*~$=U" append ] diff --git a/extra/geohash/geohash.factor b/extra/geohash/geohash.factor index 993e62e9c5..25eeb2e199 100644 --- a/extra/geohash/geohash.factor +++ b/extra/geohash/geohash.factor @@ -39,7 +39,7 @@ IN: geohash << CONSTANT: base32-alphabet $[ "0123456789bcdefghjkmnpqrstuvwxyz" >byte-array ] >> -CONSTANT: base32-inverse $[ 256 [ base32-alphabet index 0xff or ] B{ } map-integers ] +CONSTANT: base32-inverse $[ 256 [ base32-alphabet index 0xff or ] B{ } map-integers-as ] : base32-encode ( x -- str ) -59 12 [ diff --git a/extra/math/analysis/analysis.factor b/extra/math/analysis/analysis.factor index ca3d27ff66..41752ae8f2 100644 --- a/extra/math/analysis/analysis.factor +++ b/extra/math/analysis/analysis.factor @@ -18,7 +18,7 @@ CONSTANT: gamma-p6 } : gamma-z ( x n -- seq ) - [ + recip ] with { } map-integers 1.0 0 pick set-nth ; + [ + recip ] with map-integers 1.0 0 pick set-nth ; : (gamma-lanczos6) ( x -- log[gamma[x+1]] ) ! log(gamma(x+1) diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index fed27d2f26..78793771b7 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -102,12 +102,12 @@ PRIVATE> : even-indices ( seq -- seq' ) [ length 1 + 2/ ] keep [ [ [ 2 * ] dip nth-unsafe ] curry - ] keep map-integers ; + ] keep map-integers-as ; : odd-indices ( seq -- seq' ) [ length 2/ ] keep [ [ [ 2 * 1 + ] dip nth-unsafe ] curry - ] keep map-integers ; + ] keep map-integers-as ; : compact ( ... seq quot: ( ... elt -- ... ? ) elt -- ... seq' ) [ split-when harvest ] dip join ; inline @@ -277,7 +277,7 @@ PRIVATE> PRIVATE> : map-from-as ( ... seq quot: ( ... elt -- ... newelt ) i exemplar -- ... newseq ) - [ -rot setup-each-from ] dip map-integers ; inline + [ -rot setup-each-from ] dip map-integers-as ; inline : map-from ( ... seq quot: ( ... elt -- ... newelt ) i -- ... newseq ) pick map-from-as ; inline @@ -401,7 +401,7 @@ PRIVATE> pick [ 2map-into ] keep ; inline : 2map-index ( ... seq1 seq2 quot: ( ... elt1 elt2 index -- ... newelt ) -- ... newseq ) - pick [ (2each-index) ] dip map-integers ; inline + pick [ (2each-index) ] dip map-integers-as ; inline TUPLE: evens { seq read-only } ; -- 2.34.1