<?xml version="1.0"?>
<paste-with-annotations>
  <paste>
    <number>
      <integer>51973</integer>
    </number>
    <user>
      <string>hannes</string>
    </user>
    <title>
      <string>macro; need help here</string>
    </title>
    <contents>
      <string>define macro graph
 { graph ( ?connections:* ) }
    =&gt; { begin
           let g = make(&lt;graph&gt;);
           add-edges(g, list(?connections));
           g;
         end }

    connections:
    { } =&gt; { }
    { ?snode:name -&gt; ?tnode:name ; ... } =&gt;
      { ?&quot;snode&quot;, ?&quot;tnode&quot; , ... }
    { ?snode:name -&gt; ?tnode:name -&gt; ?unode:name ; ... } =&gt;
      { ?&quot;snode&quot;, ?&quot;tnode&quot;, ?&quot;tnode&quot;, ?&quot;unode&quot;, ... }
    { ?snode:name -&gt; ?tnode:name -&gt; ?unode:name -&gt; ?vnode:name ; ... } =&gt;
      { ?&quot;snode&quot;, ?&quot;tnode&quot;, ?&quot;tnode&quot;, ?&quot;unode&quot;, ?&quot;unode&quot;, ?&quot;vnode&quot;, ... }
end;

I would like to have only two rules in the connections auxiliary macro</string>
    </contents>
    <universal-time>
      <integer>3405882441</integer>
    </universal-time>
    <channel>
      <string>#dylan</string>
    </channel>
    <colorization-mode>
      <string></string>
    </colorization-mode>
    <maybe-spam>
      <null/>
    </maybe-spam>
    <is-unicode>
      <null/>
    </is-unicode>
  </paste>
  <annotation>
    <number>
      <integer>2</integer>
    </number>
    <user>
      <string>|Agent</string>
    </user>
    <title>
      <string>How about this?</string>
    </title>
    <contents>
      <string>define macro graph
 { graph ( ?edges:* ) }
    =&gt; { begin
           let g = make(&lt;graph&gt;);
           ?edges;
           add-edges(g, list(?connections));
           g;
         end }

    edges:
    { } =&gt; { }
    { ?connections ; ... } =&gt;
      { add-edges(g, list(?connections)) }

    connections:
    { ?node:name } =&gt; { ?&quot;node&quot; }
    { ?node:name -&gt; ... } { ?&quot;node&quot;, ... }
end;
</string>
    </contents>
    <universal-time>
      <integer>3405883219</integer>
    </universal-time>
    <channel>
      <string>#dylan</string>
    </channel>
    <colorization-mode>
      <string></string>
    </colorization-mode>
    <maybe-spam>
      <null/>
    </maybe-spam>
    <is-unicode>
      <null/>
    </is-unicode>
  </annotation>
  <annotation>
    <number>
      <integer>1</integer>
    </number>
    <user>
      <string>hannes</string>
    </user>
    <title>
      <string>macro usage</string>
    </title>
    <contents>
      <string>  let new-graph = graph ( foo -&gt; bar -&gt; boo; bluub -&gt; foo );
</string>
    </contents>
    <universal-time>
      <integer>3405882819</integer>
    </universal-time>
    <channel>
      <string>#dylan</string>
    </channel>
    <colorization-mode>
      <string></string>
    </colorization-mode>
    <maybe-spam>
      <null/>
    </maybe-spam>
    <is-unicode>
      <null/>
    </is-unicode>
  </annotation>
</paste-with-annotations>