nproduce-as ( pred quot exemplar... n -- seq... ) - Factor Documentation

nproduce-as ( pred quot exemplar... n -- seq... )
Generalized sequence words



Vocabulary
sequences .generalizations

Inputs
pred a quotation with stack effect ( -- ? )
quot a quotation with stack effect ( -- obj1 obj2 ... objn )
exemplar... n sequences on the datastack
n an integer


Outputs
seq... n sequences on the datastack of the same types as the exemplars


Word description
A generalization of produce-as that generates n sequences in parallel by calling quot repeatedly until pred outputs false.

Definition
USING: generalizations kernel sequences ;

IN: sequences.generalizations

: nproduce-as ( pred quot exemplar... n -- seq... )
7 dupn [
[
[ [ ncollector-as [ while ] ] curry ] dip
[ ndip ] curry compose
] 3dip
] dip [
[
[
[ [ ~quotation~ curry ] dip ] dip
[ ncurry ] 2curry compose
] dip [ ndip [ like ] ] curry compose
] dip [ apply-curry ] curry compose
] dip [ spread* ] curry compose call ; inline

AltStyle によって変換されたページ (->オリジナル) /