sequences.deep: adding deep-reject.
parent
7e7efe8128
commit
dac41e1bf7
|
@ -29,6 +29,12 @@ M: object branch? drop f ;
|
|||
: deep-filter ( ... obj quot: ( ... elt -- ... ? ) -- ... seq )
|
||||
over dup branch? [ drop f ] unless deep-filter-as ; inline
|
||||
|
||||
: deep-reject-as ( ... obj quot: ( ... elt -- ... ? ) exemplar -- ... seq )
|
||||
[ [ not ] compose ] dip deep-filter-as ; inline
|
||||
|
||||
: deep-reject ( ... obj quot: ( ... elt -- ... ? ) -- ... seq )
|
||||
[ not ] compose deep-filter ; inline
|
||||
|
||||
: (deep-find) ( ... obj quot: ( ... elt -- ... ? ) -- ... elt ? )
|
||||
[ call ] 2keep rot [ drop t ] [
|
||||
over branch? [
|
||||
|
@ -59,7 +65,7 @@ M: object branch? drop f ;
|
|||
] [ drop ] if ; inline recursive
|
||||
|
||||
: flatten ( obj -- seq )
|
||||
[ branch? not ] deep-filter ;
|
||||
[ branch? ] deep-reject ;
|
||||
|
||||
: flatten-as ( obj exemplar -- seq )
|
||||
[ branch? not ] swap deep-filter-as ;
|
||||
[ branch? ] swap deep-reject-as ;
|
||||
|
|
Loading…
Reference in New Issue