10 defstruct (bar (aa, bb), baz (aa), quux (aa));
11 [bar (aa, bb), baz (aa), quux (aa)];
13 defstruct (foo (aa, bb, cc = bar (2, 3), dd = baz (5), ee = quux (7)));
14 [foo (aa, bb, bar (2, 3), baz (5), quux (7))];
17 foo (aa, bb, bar (2, 3), baz (5), quux (7));
26 foo (aa, bb, bar (2, blurf (11)), baz (5), quux (7));
29 foo (aa, bb, bar (2, blurf (11)), baz (5), quux (7));
35 foo (aa, [1, 2, 3], bar (2, blurf (11)), baz (5), quux (7));
38 foo (aa, bb, bar (2, blurf (11)), baz (5), quux (7));
44 foo (aa, bb, bar (2, blurf (11)), baz (%pi - 3), quux (7));
47 [mumble(), bar(aa, bb), baz(aa), quux(aa), foo(aa, bb, bar(2, 3), baz(5), quux(7))];
49 map (lambda ([a], ?get (op (a), ?defstruct\-template)), structures);
50 [mumble(), bar(aa, bb), baz(aa), quux(aa), foo(aa, bb, cc, dd, ee)];
52 kill (mumble, foo, bar, baz);
64 /* begin stuff to test parallel multiple assignment */
69 [x, y, z]: [11, 22, 33];
84 ([aa, bb]: [bb, 2*aa], [aa, bb]: [bb, 2*aa], [aa, bb]: [bb, 2*aa], [aa, bb]: [bb, 2*aa]);
87 (kgcd (a, b) := (while b#0 do [a, b]: [b, remainder (a, b)], abs(a)), 0);
91 ''(gcd (123456, 123));
93 /* Error on atomic argument */
94 errcatch (defstruct (xx));
97 /* Error on malformed record initializer */
98 errcatch (defstruct (xx (1)));