]> gitweb.factorcode.org Git - factor.git/commitdiff
sequences: simplify flip using fry and map-reduce.
authorJohn Benediktsson <mrjbq7@gmail.com>
Fri, 19 Mar 2021 18:12:26 +0000 (11:12 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 19 Mar 2021 18:15:22 +0000 (11:15 -0700)
core/sequences/sequences.factor

index 3099c5918088a958d622ab2be5c5db7598919c0d..9d5df6a51ca366f502e43e0bc5ac4972db8cc899 100644 (file)
@@ -1143,24 +1143,15 @@ PRIVATE>
 <PRIVATE
 
 : generic-flip ( matrix -- newmatrix )
-    [
-        [ first-unsafe length 1 ] keep
-        [ length min ] (each) (each-integer) <iota>
-    ] keep
-    [ [ nth-unsafe ] with { } map-as ] curry { } map-as ; inline
+    [ [ length ] [ min ] map-reduce ] keep
+    '[ _ [ nth-unsafe ] with { } map-as ] { } map-integers ; inline
 
 USE: arrays
 
-: array-length ( array -- len )
-    { array } declare length>> ; inline
-
 : array-flip ( matrix -- newmatrix )
     { array } declare
-    [
-        [ first-unsafe array-length 1 ] keep
-        [ array-length min ] (each) (each-integer) <iota>
-    ] keep
-    [ [ { array } declare array-nth ] with { } map-as ] curry { } map-as ;
+    [ [ { array } declare length>> ] [ min ] map-reduce ] keep
+    '[ _ [ { array } declare array-nth ] with { } map-as ] { } map-integers ;
 
 PRIVATE>