CROSSMAP template data
(CROSSMAP template data1 data2 ...)

Outputs a list containing the results of template evaluations. Each data list contributes to a slot in the template; the number of slots is equal to the number of data list inputs. As a special case, if only one data list input is given, that list is taken as a list of data lists, and each of its members contributes values to a slot.

CROSSMAP differs from MAP in that, instead of taking members from the data inputs in parallel, CROSSMAP takes all possible combinations of members of data inputs, which need not be the same length.

For compatibility with program listings in Brian Harvey's textbook series "Computer Science Logo Style", FMSLogo's CROSSMAP templates may use the notation :1 instead of ?1 to indicate slots.

SHOW (CROSSMAP [WORD ?1 ?2] [a b c] [1 2 3 4])
[a1 a2 a3 a4 b1 b2 b3 b4 c1 c2 c3 c4] Logo