]> gitweb.factorcode.org Git - factor.git/commitdiff
splitting: removing split* to extras.
authorJohn Benediktsson <mrjbq7@gmail.com>
Mon, 1 Apr 2013 16:14:01 +0000 (09:14 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 1 Apr 2013 16:14:01 +0000 (09:14 -0700)
core/splitting/splitting-docs.factor
core/splitting/splitting-tests.factor
core/splitting/splitting.factor

index 458cb707a6553675f06ef734f3a563ba223e55c5..771343e1f96b639b061f21a5d861b8c0a3483e15 100644 (file)
@@ -17,8 +17,6 @@ ARTICLE: "sequences-split" "Splitting sequences"
     split
     split-when
     split-when-slice
-    split*
-    split*-when
 }
 "Splitting a string into lines:"
 { $subsections string-lines }
@@ -67,16 +65,6 @@ HELP: split
 { $description "Splits " { $snippet "seq" } " at each occurrence of an element of " { $snippet "separators" } " and outputs an array of pieces. The pieces do not include the elements along which the sequence was split." }
 { $examples { $example "USING: prettyprint splitting ;" "\"hello world-how are you?\" \" -\" split ." "{ \"hello\" \"world\" \"how\" \"are\" \"you?\" }" } } ;
 
-HELP: split*-when
-{ $values { "seq" "a sequence" } { "quot" { $quotation "( ... elt -- ... ? )" } } { "pieces" "a new array" } }
-{ $description "A variant of " { $link split-when } " that includes the elements along which the sequence was split." }
-{ $examples { $example "USING: ascii kernel prettyprint splitting ;" "\"hello,world-how.are:you\" [ letter? not ] split*-when ." "{ \"hello\" \",\" \"world\" \"-\" \"how\" \".\" \"are\" \":\" \"you\" }" } } ;
-
-HELP: split*
-{ $values { "seq" "a sequence" } { "separators" "a sequence" } { "pieces" "a new array" } }
-{ $description "A variant of " { $link split } " that includes the elements along which the sequence was split." }
-{ $examples { $example "USING: prettyprint splitting ;" "\"hello world-how are you?\" \" -\" split* ." "{ \"hello\" \" \" \"world\" \"-\" \"how\" \" \" \"are\" \" \" \"you?\" }" } } ;
-
 HELP: ?head
 { $values { "seq" "a sequence" } { "begin" "a sequence" } { "newseq" "a new sequence" } { "?" "a boolean" } }
 { $description "Tests if " { $snippet "seq" } " starts with " { $snippet "begin" } ". If there is a match, outputs the subrange of " { $snippet "seq" } " excluding " { $snippet "begin" } ", and " { $link t } ". If there is no match, outputs " { $snippet "seq" } " and " { $link f } "." } ;
index 764bf54d647e54fad8d7f66b3716e7fc8f9eef52..06cffb6964ef55d86463428940fdbec265fdeabb 100644 (file)
@@ -91,24 +91,6 @@ unit-test
 [ "" "ABC" ] [ " ABC" [ blank? ] split1-when-slice [ >string ] bi@ ] unit-test
 [ "a" " bc" ] [ "a  bc" [ blank? ] split1-when-slice [ >string ] bi@ ] unit-test
 
-{ { } } [ { } { 0 } split* ] unit-test
-{ { { 1 2 3 } } } [ { 1 2 3 } { 0 } split* ] unit-test
-{ { { 0 } } } [ { 0 } { 0 } split* ] unit-test
-{ { { 0 0 } } } [ { 0 0 } { 0 } split* ] unit-test
-{ { { 1 2 } { 0 } { 3 } { 0 0 } } } [ { 1 2 0 3 0 0 } { 0 } split* ] unit-test
-{ { "hello" } } [ "hello" " " split* ] unit-test
-{ { "  " "hello" } } [ "  hello" " " split* ] unit-test
-{ { "hello" "    " "world" } } [ "hello    world" " " split* ] unit-test
-{ { "hello" "    " "world" "    " } } [ "hello    world    " " " split* ] unit-test
-
-{ { } } [ { } [ 0 > ] split*-when ] unit-test
-{ { { 0 } } } [ { 0 } [ 0 > ] split*-when ] unit-test
-{ { { 0 0 } } } [ { 0 0 } [ 0 > ] split*-when ] unit-test
-{ { { 1 2 } { 0 } { 3 } { 0 0 } } } [ { 1 2 0 3 0 0 } [ 0 > ] split*-when ] unit-test
-{ { { 1 } { 2 3 } { 1 } { 4 5 } { 1 } { 6 } } } [
-    1 { 1 2 3 1 4 5 1 6 } [ dupd = ] split*-when nip
-] unit-test
-
 { "abarbbarc" }
 [ "afoobfooc" "foo" "bar" replace ] unit-test
 
index eb0d2c5bb0e4f9c7d2fc3af589982213e22a13a8..c75b27263e8697b0f5fc4e2bd05189c600938e42 100644 (file)
@@ -100,35 +100,6 @@ PRIVATE>
 : split-slice ( seq separators -- pieces )
     [ member? ] curry split-when-slice ; inline
 
-<PRIVATE
-
-: (split*) ( n seq quot: ( ... elt -- ... ? ) slice-quot -- pieces )
-    pick [
-        swap curry [ keep swap ] curry [
-            [ [ find-from drop dup ] 2curry [ keep -rot ] curry ] 2keep
-            [ not ] compose [ find-from drop dup ] 2curry
-            [ dip -rot ] curry [ swap ] prepose
-            [ [ dup ] if ] curry [ 2dup = ] prepose
-            [ [ f ] if ] curry compose
-        ] dip produce nip
-    ] 2keep swap [
-        [ length [ swapd dupd < ] keep ] keep
-    ] dip 2curry [ suffix ] compose [ drop ] if ; inline
-
-PRIVATE>
-
-: split*-when ( ... seq quot: ( ... elt -- ... ? ) -- ... pieces )
-    [ 0 ] 2dip [ subseq ] (split*) ; inline
-
-: split*-when-slice ( ... seq quot: ( ... elt -- ... ? ) -- ... pieces )
-    [ 0 ] 2dip [ <slice> ] (split*) ; inline
-
-: split* ( seq separators -- pieces )
-    [ member? ] curry split*-when ; inline
-
-: split*-slice ( seq separators -- pieces )
-    [ member? ] curry split*-when-slice ; inline
-
 GENERIC: string-lines ( str -- seq )
 
 M: string string-lines