]> gitweb.factorcode.org Git - factor.git/commitdiff
grouping: Remove <groups>, old <sliced-groups> is now <groups>. Fixes
authorDoug Coleman <doug.coleman@gmail.com>
Sat, 23 Mar 2013 18:11:40 +0000 (11:11 -0700)
committerDoug Coleman <doug.coleman@gmail.com>
Sat, 23 Mar 2013 18:37:51 +0000 (11:37 -0700)
basis/compiler/crossref/crossref.factor
basis/grouping/grouping-docs.factor
basis/grouping/grouping-tests.factor
basis/grouping/grouping.factor
basis/images/tessellation/tessellation.factor
basis/io/ports/ports.factor
basis/tools/memory/memory.factor

index acadf82fee418524b0451a75ad60f65b1bf20527..5071cc5ea2815162441f1853a3c308b8d2a2de18 100644 (file)
@@ -90,7 +90,7 @@ generic-call-site-crossref [ H{ } clone ] initialize
     get remove-vertex* ;
 
 : generic-call-sites ( word -- alist )
-    "generic-call-sites" word-prop 2 <groups> ;
+    "generic-call-sites" word-prop 2 group ;
 
 : compiled-unxref ( word -- )
     {
index 6a02e2198e1c4caf0ba4b55a0216ac8624860067..571555e4e1be0fea26ddec2138992a7aef5e7c49 100644 (file)
@@ -5,7 +5,7 @@ ARTICLE: "grouping" "Groups and clumps"
 "Splitting a sequence into disjoint, fixed-length subsequences:"
 { $subsections group }
 "A virtual sequence for splitting a sequence into disjoint, fixed-length subsequences:"
-{ $subsections groups <groups> <sliced-groups> }
+{ $subsections groups <groups> }
 "Splitting a sequence into overlapping, fixed-length subsequences:"
 { $subsections clump }
 "Splitting a sequence into overlapping, fixed-length subsequences, wrapping around the end of the sequence:"
@@ -62,7 +62,7 @@ ABOUT: "grouping"
 HELP: groups
 { $class-description "Instances are virtual sequences whose elements are disjoint fixed-length subsequences of an underlying sequence. Groups are mutable and resizable if the underlying sequence is mutable and resizable, respectively."
 $nl
-"New groups are created by calling " { $link <groups> } " and " { $link <sliced-groups> } "." } ;
+"New groups are created by calling " { $link <groups> } "." } ;
 
 HELP: group
 { $values { "seq" "a sequence" } { "n" "a non-negative integer" } { "array" "a sequence of sequences" } }
@@ -74,32 +74,17 @@ HELP: group
 
 HELP: <groups>
 { $values { "seq" "a sequence" } { "n" "a non-negative integer" } { "groups" groups } }
-{ $description "Outputs a virtual sequence whose elements are disjoint subsequences of " { $snippet "n" } " elements from the underlying sequence." }
-{ $examples
-    { $example
-        "USING: arrays kernel prettyprint sequences grouping ;"
-        "9 iota >array 3 <groups> reverse! concat >array ." "{ 6 7 8 3 4 5 0 1 2 }"
-    }
-    { $example
-        "USING: kernel prettyprint sequences grouping ;"
-        "{ 1 2 3 4 5 6 } 3 <groups> first ."
-        "{ 1 2 3 }"
-    }
-} ;
-
-HELP: <sliced-groups>
-{ $values { "seq" "a sequence" } { "n" "a non-negative integer" } { "groups" groups } }
 { $description "Outputs a virtual sequence whose elements are slices of disjoint subsequences of " { $snippet "n" } " elements from the underlying sequence." }
 { $examples
     { $example
         "USING: arrays kernel prettyprint sequences grouping ;"
-        "9 iota >array 3 <sliced-groups>"
+        "9 iota >array 3 <groups>"
         "dup [ reverse! drop ] each concat >array ."
         "{ 2 1 0 5 4 3 8 7 6 }"
     }
     { $example
         "USING: kernel prettyprint sequences grouping ;"
-        "{ 1 2 3 4 5 6 } 3 <sliced-groups> second ."
+        "{ 1 2 3 4 5 6 } 3 <groups> second ."
         "T{ slice { from 3 } { to 6 } { seq { 1 2 3 4 5 6 } } }"
     }
 } ;
@@ -107,7 +92,7 @@ HELP: <sliced-groups>
 HELP: clumps
 { $class-description "Instances are virtual sequences whose elements are overlapping fixed-length subsequences of an underlying sequence. Clumps are mutable and resizable if the underlying sequence is mutable and resizable, respectively."
 $nl
-"New clumps are created by calling " { $link <clumps> } " and " { $link <sliced-clumps> } "." } ;
+"New clumps are created by calling " { $link <clumps> } " and " { $link <clumps> } "." } ;
 
 HELP: circular-clumps
 { $class-description "Instances are virtual sequences whose elements are overlapping fixed-length subsequences of an underlying sequence, beginning with every element in the original sequence and wrapping around its end. Circular clumps are mutable and resizable if the underlying sequence is mutable and resizable, respectively."
@@ -178,7 +163,7 @@ HELP: <sliced-circular-clumps>
 
 { <clumps> <circular-clumps> <groups> } related-words
 
-{ <sliced-clumps> <sliced-circular-clumps> <sliced-groups> } related-words
+{ <sliced-clumps> <sliced-circular-clumps> <groups> } related-words
 
 HELP: monotonic?
 { $values { "seq" sequence } { "quot" { $quotation "( elt1 elt2 -- ? )" } } { "?" "a boolean" } }
index 6e207ceffa1c9a471e5dd4e1d8882c57a5070654..c90488ff29198ff76e88e39a036923169f9656a3 100644 (file)
@@ -6,12 +6,6 @@ IN: grouping.tests
 
 [ { "hell" "o wo" "rld" } ] [ "hello world" 4 group ] unit-test
 
-[ { V{ "a" "b" } V{ 0 0 } } ] [
-    V{ "a" "b" } clone 2 <groups>
-    2 over set-length
-    >array
-] unit-test
-
 [ 0 ] [ { } 2 <clumps> length ] unit-test
 [ 0 ] [ { 1 } 2 <clumps> length ] unit-test
 [ 1 ] [ { 1 2 } 2 <clumps> length ] unit-test
@@ -44,5 +38,3 @@ IN: grouping.tests
 [ f ] [ [ 1.0 1 1 ] all-equal? ] unit-test
 [ t ] [ { 1 2 3 4 } [ < ] monotonic? ] unit-test
 [ f ] [ { 1 2 3 4 } [ > ] monotonic? ] unit-test
-
-[ { 6 7 8 3 4 5 0 1 2 } ] [ 9 iota >array dup 3 <groups> reverse! drop ] unit-test
index 522fbcf6a66e7329005f15276f73ebb9db9d8ae9..0e604d5812009c763623ec23f8c1c656addb1945 100644 (file)
@@ -65,19 +65,12 @@ TUPLE: chunking-seq { seq read-only } { n read-only } ;
 PRIVATE>
 
 TUPLE: groups < chunking-seq ;
-INSTANCE: groups subseq-chunking
+INSTANCE: groups slice-chunking
 INSTANCE: groups abstract-groups
 
 : <groups> ( seq n -- groups )
     groups new-groups ; inline
 
-TUPLE: sliced-groups < chunking-seq ;
-INSTANCE: sliced-groups slice-chunking
-INSTANCE: sliced-groups abstract-groups
-
-: <sliced-groups> ( seq n -- groups )
-    sliced-groups new-groups ; inline
-
 TUPLE: clumps < chunking-seq ;
 INSTANCE: clumps subseq-chunking
 INSTANCE: clumps abstract-clumps
@@ -92,7 +85,7 @@ INSTANCE: sliced-clumps abstract-clumps
 : <sliced-clumps> ( seq n -- clumps )
     sliced-clumps new-groups ; inline
 
-: group ( seq n -- array ) <groups> { } like ;
+: group ( seq n -- array ) [ <groups> ] 2keep drop '[ _ like ] map ;
 
 : clump ( seq n -- array ) <clumps> { } like ;
 
index a37c67b5b4e12568f5920b461e8fa0529501a23e..bd43bf0f906ff5cee0a94f838642dc6b83554399 100644 (file)
@@ -5,13 +5,13 @@ images math.vectors arrays ;
 IN: images.tessellation
 
 : group-rows ( bitmap bitmap-dim -- rows )
-    first <sliced-groups> ; inline
+    first <groups> ; inline
 
 : tesselate-rows ( bitmap-rows tess-dim -- bitmaps )
-    second <sliced-groups> ; inline
+    second <groups> ; inline
 
 : tesselate-columns ( bitmap-rows tess-dim -- bitmaps )
-    first '[ _ <sliced-groups> ] map flip ; inline
+    first '[ _ <groups> ] map flip ; inline
 
 : tesselate-bitmap ( bitmap bitmap-dim tess-dim -- bitmap-grid )
     [ group-rows ] dip
index d46672df721299191de69cb0972209435fc2902e..5b48db51751c4baf7eb3bf07220ff2740f6f82e1 100644 (file)
@@ -126,7 +126,7 @@ M: output-port stream-write1
 
 : write-in-groups ( byte-array port -- )
     [ binary-object uchar <c-direct-array> ] dip
-    [ buffer>> size>> <sliced-groups> ] [ '[ _ stream-write ] ] bi
+    [ buffer>> size>> <groups> ] [ '[ _ stream-write ] ] bi
     each ;
 
 M: output-port stream-write
index bb612d046f13c220ef3f6502504994a2cce83d0b..fd8cd7dda63cdf44cd8380d9478a901e56709051 100644 (file)
@@ -204,7 +204,7 @@ TUPLE: code-block
 { size read-only }
 { entry-point read-only } ;
 
-TUPLE: code-blocks { blocks sliced-groups } { cache hashtable } ;
+TUPLE: code-blocks { blocks groups } { cache hashtable } ;
 
 <PRIVATE
 
@@ -222,7 +222,7 @@ TUPLE: code-blocks { blocks sliced-groups } { cache hashtable } ;
     } spread code-block boa ; inline
 
 : <code-blocks> ( seq -- code-blocks )
-    6 <sliced-groups> H{ } clone \ code-blocks boa ;
+    6 <groups> H{ } clone \ code-blocks boa ;
 
 SYMBOL: code-heap-start
 SYMBOL: code-heap-end