]> gitweb.factorcode.org Git - factor.git/blob - extra/combinators/tuple/tuple-docs.factor
Solution to Project Euler problem 65
[factor.git] / extra / combinators / tuple / tuple-docs.factor
1 ! (c)2009 Joe Groff bsd license
2 USING: assocs classes help.markup help.syntax kernel math
3 quotations strings ;
4 IN: combinators.tuple
5
6 HELP: 2make-tuple
7 { $values
8     { "x" object } { "y" object } { "class" class } { "assoc" assoc }
9     { "tuple" tuple }
10 }
11 { $description "Constructs a " { $link tuple } " of " { $snippet "class" } " by calling the quotations making up the values of " { $snippet "assoc" } " on " { $snippet "x" } " and " { $snippet "y" } ", assigning the result of each call to the slot named by the corresponding key. The quotations must have the effect " { $snippet "( x y -- slot-value )" } ". The order in which the quotations is called is undefined." } ;
12
13 HELP: 3make-tuple
14 { $values
15     { "x" object } { "y" object } { "z" object } { "class" class } { "assoc" "a list of " { $link string } "/" { $link quotation } " pairs" }
16     { "tuple" tuple }
17 }
18 { $description "Constructs a " { $link tuple } " of " { $snippet "class" } " by calling the quotations making up the values of " { $snippet "assoc" } " on " { $snippet "x" } ", " { $snippet "y" } ", and " { $snippet "z" } ", assigning the result of each call to the slot named by the corresponding key. The quotations must have the effect " { $snippet "( x y z -- slot-value )" } ". The order in which the quotations is called is undefined." } ;
19
20 HELP: make-tuple
21 { $values
22     { "x" object } { "class" class } { "assoc" "a list of " { $link string } "/" { $link quotation } " pairs" }
23     { "tuple" tuple }
24 }
25 { $description "Constructs a " { $link tuple } " of " { $snippet "class" } " by calling the quotations making up the values of " { $snippet "assoc" } " on " { $snippet "x" } ", assigning the result of each call to the slot named by the corresponding key. The quotations must have the effect " { $snippet "( x -- slot-value )" } ". The order in which the quotations is called is undefined." } ;
26
27 HELP: nmake-tuple
28 { $values
29     { "class" class } { "assoc" "a list of " { $link string } "/" { $link quotation } " pairs" } { "n" integer }
30 }
31 { $description "Constructs a " { $link tuple } " of " { $snippet "class" } " by calling the quotations making up the values of " { $snippet "assoc" } " on the top " { $snippet "n" } " values on the datastack below " { $snippet "class" } ", assigning the result of each call to the slot named by the corresponding key. The order in which the quotations is called is undefined." } ;
32
33 { make-tuple 2make-tuple 3make-tuple nmake-tuple } related-words
34
35 ARTICLE: "combinators.tuple" "Tuple-constructing combinators"
36 "The " { $vocab-link "combinators.tuple" } " vocabulary provides dataflow combinators that construct " { $link tuple } " objects."
37 { $subsection make-tuple }
38 { $subsection 2make-tuple }
39 { $subsection 3make-tuple }
40 { $subsection nmake-tuple }
41 ;
42
43 ABOUT: "combinators.tuple"