]> gitweb.factorcode.org Git - factor.git/blobdiff - core/sequences/sequences.factor
sequences: inline `element/index` and `index/element`
[factor.git] / core / sequences / sequences.factor
index 91fc75e51826114b6e507a033fa6cbd97af82e54..f9aba3804b710157b30c3690c94137f783971347 100644 (file)
@@ -31,9 +31,8 @@ M: sequence shorten 2dup length < [ set-length ] [ 2drop ] if ; inline
 : if-empty ( ..a seq quot1: ( ..a -- ..b ) quot2: ( ..a seq -- ..b ) -- ..b )
     [ dup empty? ] [ [ drop ] prepose ] [ ] tri* if ; inline
 
-: when-empty ( seq quot -- ) [ ] if-empty ; inline
-
-: unless-empty ( seq quot -- ) [ ] swap if-empty ; inline
+: when-empty ( ... seq quot: ( ... -- ... obj ) -- ... seq/obj ) [ ] if-empty ; inline
+: unless-empty ( ... seq quot: ( ... seq -- ... ) -- ... ) [ ] swap if-empty ; inline
 
 : delete-all ( seq -- ) 0 swap set-length ;
 
@@ -455,10 +454,10 @@ PRIVATE>
     [ setup-3each ] dip compose ; inline
 
 : element/index ( i/f seq -- elt/f i/f )
-    '[ [ _ nth ] [ f ] if* ] keep ;
+    '[ [ _ nth ] [ f ] if* ] keep ; inline
 
 : index/element ( i/f seq -- i/f elt/f )
-    dupd '[ _ nth ] [ f ] if* ;
+    dupd '[ _ nth ] [ f ] if* ; inline
 
 : (accumulate) ( seq identity quot -- identity seq quot' )
     swapd [ keepd ] curry ; inline
@@ -1053,7 +1052,7 @@ PRIVATE>
 
 : subseq-index ( seq subseq -- i/f ) [ 0 ] 2dip subseq-index-from ; inline
 
-: subseq-index? ( seq subseq -- ? ) subseq-index >boolean ; inline
+: subseq-of? ( seq subseq -- ? ) subseq-index >boolean ; inline
 
 : subseq-start-from ( subseq seq n -- i/f )
     spin subseq-index-from ; inline deprecated