]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/sequences/next/next.factor
Removing more >r/r> usages
[factor.git] / basis / sequences / next / next.factor
index b22bf2683c78031486ff306cbe58165b6b21b08d..a0a441ab50c63e4ff1e09818997e586c1dd1dfa0 100644 (file)
@@ -3,20 +3,18 @@ IN: sequences.next
 
 <PRIVATE
 
-: iterate-seq >r dup length swap r> ; inline
+: iterate-seq [ dup length swap ] dip ; inline
 
 : (map-next) ( i seq quot -- )
     ! this uses O(n) more bounds checks than is really necessary
-    >r [ >r 1+ r> ?nth ] 2keep nth-unsafe r> call ; inline
+    [ [ [ 1+ ] dip ?nth ] 2keep nth-unsafe ] dip call ; inline
 
 PRIVATE>
 
-: each-next ( seq quot -- )
-    ! quot: next-elt elt --
+: each-next ( seq quot: ( next-elt elt -- ) -- )
     iterate-seq [ (map-next) ] 2curry each-integer ; inline
 
-: map-next ( seq quot -- newseq )
-    ! quot: next-elt elt -- newelt
-    over dup length swap new-sequence >r
-    iterate-seq [ (map-next) ] 2curry
-    r> [ collect ] keep ; inline
+: map-next ( seq quot: ( next-elt elt -- newelt ) -- newseq )
+    over dup length swap new-sequence [
+        iterate-seq [ (map-next) ] 2curry
+    ] dip [ collect ] keep ; inline