<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">> (define-syntax parallel-set!<br>
> (syntax-rules ()<br>
> [(parallel-set! (symbol ...) (value ...))<br>
> (set! symbol value) ...]))<br>
><br>
> (parallel-set! (a b c) (1 2 3))<br>
> ; a = 1, b = 2, c = 3<br>
<br>
</div>Only one form is allowed in the template portion of `syntax-rules',<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't remember where. R5RS would seem to agree
with Sam but I'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'd like to know.<br>
<br>Thanks Sam,<br>James <br></div></div><br>