From: Doug Coleman Date: Wed, 8 Feb 2023 15:31:49 +0000 (-0600) Subject: sequences: move (2selector-as) X-Git-Tag: 0.99~570 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=fd9ef1fca896eaadfecdae9774e182d1bc0ad6ad sequences: move (2selector-as) --- diff --git a/core/sequences/sequences.factor b/core/sequences/sequences.factor index 7761b49bb7..a2bf15cbe6 100644 --- a/core/sequences/sequences.factor +++ b/core/sequences/sequences.factor @@ -635,9 +635,6 @@ PRIVATE> : push-when ( ..a elt quot: ( ..a elt -- ..b ? ) accum -- ..b ) [ keep ] dip rot [ push ] [ 2drop ] if ; inline -: 2push-when ( ..a elt1 elt2 quot: ( ..a elt1 elt2 -- ..b ? ) accum -- ..b ) - [ keepd ] dip rot [ push ] [ 2drop ] if ; inline - : call-push-when ( ..a elt quot: ( ..a elt -- ..b elt' ? ) accum -- ..b ) [ call ] dip swap [ push ] [ 2drop ] if ; inline @@ -646,9 +643,6 @@ PRIVATE> : (selector-as) ( quot length exemplar -- selector accum ) new-resizable [ [ push-when ] 2curry ] keep ; inline -: (2selector-as) ( quot length exemplar -- selector accum ) - new-resizable [ [ 2push-when ] 2curry ] keep ; inline - PRIVATE> : selector-as ( quot exemplar -- selector accum ) diff --git a/extra/sequences/extras/extras.factor b/extra/sequences/extras/extras.factor index e128db43e7..8ad6cd0ab9 100644 --- a/extra/sequences/extras/extras.factor +++ b/extra/sequences/extras/extras.factor @@ -404,6 +404,11 @@ PRIVATE> : 2reject-map ( ... seq1 seq2 quot: ( ... elt1 elt2 -- ... ? ) map-quot: ( elt1 elt2 -- obj ) -- ... newseq ) pick 2reject-map-as ; inline +: 2push-when ( ..a elt1 elt2 quot: ( ..a elt1 elt2 -- ..b ? ) accum -- ..b ) + [ keepd ] dip rot [ push ] [ 2drop ] if ; inline + +: (2selector-as) ( quot length exemplar -- selector accum ) + new-resizable [ [ 2push-when ] 2curry ] keep ; inline : 2filter-as ( ... seq1 seq2 quot: ( ... elt1 elt2 -- ... newelt ) exemplar -- ... newseq ) [