Normally I would make a macro, but I&#39;m not sure if there is anything I need to do to tie it into the @ syntax. In the little writeup on &#39;in&#39; it says it expands to a for/list with a begin/text. I haven&#39;t found any documentation on begin/text though. I should probably should try a similar expansion myself.<br>
<br><div class="gmail_quote">On Thu, Mar 4, 2010 at 2:14 PM, Jay McCarthy <span dir="ltr">&lt;<a href="mailto:jay.mccarthy@gmail.com">jay.mccarthy@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div><div></div><div class="h5">On Thu, Mar 4, 2010 at 9:45 AM, Doug Williams<br>
&lt;<a href="mailto:m.douglas.williams@gmail.com">m.douglas.williams@gmail.com</a>&gt; wrote:<br>
&gt; The template documentation in Web: PLT Web Applications includes a little<br>
&gt; blurb about the in special form that wraps a for/list to make it easier to<br>
&gt; use. Are there other helper forms for other binding forms. In particular,<br>
&gt; are there any that wrap simple let or let-values?<br>
&gt;<br>
&gt; A real example from a template that generates Graphviz output:<br>
&gt;<br>
&gt; The following uses in and looks nice. It binds the values and generates the<br>
&gt; line for each query result.<br>
&gt;<br>
&gt; @in[(action-class-id action-class-label) (in-query `(action-class ,rule-id<br>
&gt; ?id ?label))]{<br>
&gt; &quot;@|rule-id|&quot;:&quot;action-class&quot; -&gt; &quot;@|action-class-id|&quot; [style=dashed];<br>
&gt; }<br>
&gt;<br>
&gt; But, since there should be exactly one result to that query and there is a<br>
&gt; lighter-weight function, query-values, that has more appropriate semantics -<br>
&gt; in particular, it will generate an error if there is not exactly one result,<br>
&gt; I&#39;d rather use let-values than the sequencing form.<br>
&gt;<br>
&gt; @let-values[(((action-class-id action-class-label) (query-values<br>
&gt; `(action-class ,rule-id ?id ?label))))]{<br>
&gt; @list{<br>
&gt; &quot;@|rule-id|&quot;:&quot;action-class&quot; -&gt; &quot;@|action-class-id|&quot; [style=dashed];<br>
&gt; }}<br>
&gt;<br>
&gt; works just fine, but is rather cumbersome. Is there a better way to write<br>
&gt; this using @ syntax?<br>
<br>
</div></div>If you limit yourself to one body, you could use a macro like:<br>
<br>
(let-values-ish [(a b) expr] ... expr)<br>
<br>
You could parse a little more and make<br>
<br>
(let-values-ish (a b) expr ... expr)<br>
<br>
work. But I haven&#39;t written either of these or something like it.<br>
<br>
Jay<br>
<br>
&gt;<br>
&gt; Doug<br>
&gt;<br>
&gt; _________________________________________________<br>
&gt;  For list-related administrative tasks:<br>
&gt;  <a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>
&gt;<br>
&gt;<br>
<font color="#888888"><br>
<br>
<br>
--<br>
Jay McCarthy &lt;<a href="mailto:jay@cs.byu.edu">jay@cs.byu.edu</a>&gt;<br>
Assistant Professor / Brigham Young University<br>
<a href="http://teammccarthy.org/jay" target="_blank">http://teammccarthy.org/jay</a><br>
<br>
&quot;The glory of God is Intelligence&quot; - D&amp;C 93<br>
</font></blockquote></div><br>