1 ! (c)2009 Joe Groff bsd license
2 USING: help.markup help.syntax multiline quotations sequences ;
6 { $class-description "A class of virtual sequences that present the cartesian product of their underlying set of sequences. Product sequences are constructed with the " { $link <product-sequence> } " word." }
8 { $example <" USING: arrays prettyprint sequences.product ;
9 { { 1 2 3 } { "a" "b" "c" } } <product-sequence> >array .
22 HELP: <product-sequence>
23 { $values { "sequences" sequence } { "product-sequence" product-sequence } }
24 { $description "Constructs a " { $link product-sequence } " over " { $snippet "sequences" } "." }
26 { $example <" USING: arrays prettyprint sequences.product ;
27 { { 1 2 3 } { "a" "b" "c" } } <product-sequence> >array .
40 { product-sequence <product-sequence> } related-words
43 { $values { "sequences" sequence } { "quot" { $quotation "( sequence -- value )" } } { "sequence" sequence } }
44 { $description "Calls " { $snippet "quot" } " for every element of the cartesian product of " { $snippet "sequences" } " and collects the results from " { $snippet "quot" } " into an output sequence." }
45 { $notes { $snippet "[ ... ] product-map" } " is equivalent to, but more efficient than, " { $snippet "<product-sequence> [ ... ] map" } "." } ;
48 { $values { "sequences" sequence } { "quot" { $quotation "( sequence -- )" } } }
49 { $description "Calls " { $snippet "quot" } " for every element of the cartesian product of " { $snippet "sequences" } "." }
50 { $notes { $snippet "[ ... ] product-each" } " is equivalent to, but more efficient than, " { $snippet "<product-sequence> [ ... ] each" } "." } ;
52 { product-map product-each } related-words
54 ARTICLE: "sequences.product" "Product sequences"
55 "The " { $vocab-link "sequences.product" } " vocabulary provides a virtual sequence and combinators for manipulating the cartesian product of a set of sequences."
56 { $subsection product-sequence }
57 { $subsection <product-sequence> }
58 { $subsection product-map }
59 { $subsection product-each } ;
61 ABOUT: "sequences.product"