Take the 2-minute tour ×  The package "scala" has a number of
classes named Product, Product1, Product2, and so on, up to
Product22.  The descriptions of these classes are surely
precise. For example:  Product4 is a cartesian product of 4
components  Precise, yes. Communicative? Not so much. I expect
that this is the perfect wording for someone who already
understands the sense of "cartesian product" being used here.
For someone who doesn't, it sounds a bit circular. "Oh yes, well
of course Product4 is the mumble product of 4 mumble-mumbles."
Please help me understand the correct functional-language
viewpoint. What is the sense of "cartesian product" being used
here? What do the Product classes' "projection" members
indicate?  share|improve this question  4 Answers 4  up vote 13
down vote accepted  "The set of all possible pairs of elements
whose components are members of two sets."  "Specifically, the
Cartesian product of two sets X (for example the points on an
x-axis) and Y (for example the points on a y-