]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/sequences/extras/extras.factor
sequences.extras: faster join-with.
[factor.git] / extra / sequences / extras / extras.factor
index 5b1e7b43947dfd7dbee71a64e98ba363f667e0fe..c1f2b232b0947fc70608c73444b807237f8a72bf 100644 (file)
@@ -627,6 +627,5 @@ PRIVATE>
     [ dup length ] unless* tail-slice ; inline
 
 : join-with ( seq glue -- newseq )
-    V{ } clone [
-        [ '[ _ _ push ] ] [ '[ _ push ] ] bi interleave
-    ] keep { } like ;
+    [ dup length dup 1 - + 0 max ] dip <array>
+    [ '[ 2 * _ set-nth-unsafe ] each-index ] keep ;