]> gitweb.factorcode.org Git - factor.git/commitdiff
Revert "sequences: simplify find-from and find-last-from."
authorJohn Benediktsson <mrjbq7@gmail.com>
Fri, 17 Jul 2015 23:41:56 +0000 (16:41 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 17 Jul 2015 23:41:56 +0000 (16:41 -0700)
This reverts commit 903b8eec0bb10317ca00cb0fc82c4d7443cba252.

core/sequences/sequences.factor

index 06b1b0d4e91d52cbc392deb2f014cb77b2f9d5c3..8f1bcaa2d394fb76a90330fae2e74efa5a8afa11 100644 (file)
@@ -422,9 +422,21 @@ PRIVATE>
 : (find) ( seq quot quot' -- i elt )
     pick [ [ (each) ] dip call ] dip finish-find ; inline
 
+: (find-from) ( n seq quot quot' -- i elt )
+    [ 2dup bounds-check? ] 2dip
+    [ (find) ] 2curry
+    [ 2drop f f ]
+    if ; inline
+
 : (find-index) ( seq quot quot' -- i elt )
     pick [ [ (each-index) ] dip call ] dip finish-find ; inline
 
+: (find-index-from) ( n seq quot quot' -- i elt )
+    [ 2dup bounds-check? ] 2dip
+    [ (find-index) ] 2curry
+    [ 2drop f f ]
+    if ; inline
+
 : (accumulate) ( seq identity quot -- identity seq quot )
     swapd [ curry keep ] curry ; inline
 
@@ -494,19 +506,19 @@ PRIVATE>
     [ pick ] dip swap 3map-as ; inline
 
 : find-from ( ... n seq quot: ( ... elt -- ... ? ) -- ... i elt )
-    [ (find-integer) ] (find) ; inline
+    [ (find-integer) ] (find-from) ; inline
 
 : find ( ... seq quot: ( ... elt -- ... ? ) -- ... i elt )
     [ find-integer ] (find) ; inline
 
 : find-last-from ( ... n seq quot: ( ... elt -- ... ? ) -- ... i elt )
-    [ nip find-last-integer ] (find) ; inline
+    [ nip find-last-integer ] (find-from) ; inline
 
 : find-last ( ... seq quot: ( ... elt -- ... ? ) -- ... i elt )
     [ [ 1 - ] dip find-last-integer ] (find) ; inline
 
 : find-index-from ( ... n seq quot: ( ... elt i -- ... ? ) -- ... i elt )
-    [ (find-integer) ] (find-index) ; inline
+    [ (find-integer) ] (find-index-from) ; inline
 
 : find-index ( ... seq quot: ( ... elt i -- ... ? ) -- ... i elt )
     [ find-integer ] (find-index) ; inline