]> gitweb.factorcode.org Git - factor.git/commitdiff
splitting: simplify (split1).
authorJohn Benediktsson <mrjbq7@gmail.com>
Mon, 22 Mar 2021 19:36:17 +0000 (12:36 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 22 Mar 2021 19:36:17 +0000 (12:36 -0700)
core/splitting/splitting.factor

index 841b0125b4d9fc18f24eaf505ffaeb744da48a9a..6b83ea79e065193308ea7963e8b15038d1177245 100644 (file)
@@ -27,15 +27,11 @@ PRIVATE>
 
 <PRIVATE
 
+: subseq-range ( seq subseq -- from/f to/f )
+    [ swap subseq-start ] keep [ dupd length + ] curry [ f f ] if* ; inline
+
 : (split1) ( seq subseq snip-quot -- before after )
-    [
-        swap [
-            [ drop length ] [ subseq-start dup ] 2bi
-            [ [ nip ] [ + ] 2bi t ]
-            [ 2drop f f f ]
-            if
-        ] keep swap
-    ] dip [ 2nip f ] if ; inline
+    [ [ subseq-range ] keepd over ] dip [ 2nip f ] if ; inline
 
 PRIVATE>