1 //////////////////////////////////////////////////////////////////////////////
3 // Testing the list features.
5 //////////////////////////////////////////////////////////////////////////////
8 //////////////////////////////////////////////////////////////////////////////
9 // Defines a list type.
10 //////////////////////////////////////////////////////////////////////////////
12 | #[ char * ... LIST ]
15 //////////////////////////////////////////////////////////////////////////////
16 // Method to print a list.
17 //////////////////////////////////////////////////////////////////////////////
18 ostream& operator << (ostream& f, LIST l)
21 | #[x]: { return f << x; }
22 | #[x ... y]: { return f << x << ", " << y; }
26 //////////////////////////////////////////////////////////////////////////////
27 // Try the new list constructor in expressions.
28 //////////////////////////////////////////////////////////////////////////////
30 { LIST fruits = #["apple", "orange", "pear"];
31 LIST scums = #["marketing", "lawyers", "Republicans"];
32 LIST animals = #["weasels", "skunks" ... scums];
33 cout << "Fruits = " << fruits << '\n';
34 cout << "Animals = " << animals << '\n';
35 cout << "Mathematicans = " << #["Skolem", "Curry", "Thue", "Church"] << '\n';