<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">&gt; (define-syntax parallel-set!<br>
&gt; &nbsp; (syntax-rules ()<br>
&gt; &nbsp; &nbsp; [(parallel-set! (symbol ...) (value ...))<br>
&gt; &nbsp; &nbsp; &nbsp; (set! symbol value) ...]))<br>
&gt;<br>
&gt; (parallel-set! (a b c) (1 2 3))<br>
&gt; ; a = 1, b = 2, c = 3<br>
<br>
</div>Only one form is allowed in the template portion of `syntax-rules&#39;,<br>
but you have two: (set! symbol value) and ... .<br>
<br>
You probably want<br>
<br>
(begin (set! symbol value) ...)</blockquote><div><br><br>Could someone second this? I thought I saw multi-statement templates in
some examples though I can&#39;t remember where. R5RS would seem to agree
with Sam but I&#39;d like to be sure. Also, my main question was whether
this macro would actually expand in the way I expect. The mzscheme repl
seems to confirm all the above but if someone knows anything about
other rules in other Schemes I&#39;d like to know.<br>
<br>Thanks Sam,<br>James <br></div></div><br>