<div>On 27 March 2012 20:19, Mark Proctor <span dir="ltr">&lt;<a href="mailto:mproctor@codehaus.org">mproctor@codehaus.org</a>&gt;</span> wrote:</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><div class="im">
    On 27/03/2012 18:39, Wolfgang Laun wrote:
    <blockquote type="cite">I think you misunderstood the intent of the proposal.
      It&#39;s not that I propose
      <div>a reusable CE element combination which might indeed be a
        query. I proposed</div>
      <div>a parameterized sequence of lexical tokens, aka macro. I
        trust that you know</div>
      <div>C and the C preprocessor: I want a macro, not a function.</div>
    </blockquote></div>
    I completely agree. It&#39;s one of the reasons why I&#39;ve not pushed
    drools-templates more. Because we also have &quot;dsl&quot; which are just
    another form of templating. I&#39;d prefer both those ideas where
    condensed into a proper macro language. But it will take a lot of
    thought.</div></blockquote><div><br></div><div><br></div><div>There are some things you can&#39;t do without, and some design decisions:</div><div><ul><li>Original line numbers must be preserved for subsequent processors.</li>
<li>There must be an option for preserving the expansion text.</li><li>Macro-time statements (conditional expansion) is powerful but more difficult (to implement &amp; to use).</li><li>Recursion is most likely an overkill; handle &quot;recursive calls&quot; as in the C preprocessor.</li>
<li>Think about token concatenation, as in the C preprocessor. </li><li>Think about stringification, as in the C preprocessor.</li><li>Think about variable argument lists, parenthesized arguments,...</li></ul>We might experiment with C&#39;s preprocessor, perhaps even m4, and see how it goes...</div>
<div><br></div><div>-W</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000"><span class="HOEnZb"><font color="#888888"><br>

    <br>
    Mark</font></span><div><div class="h5"><br>
    <blockquote type="cite">
      <div><br>
      </div>
      <div>-W</div>
      <div><br>
      </div>
      <div><br>
        <br>
        <div class="gmail_quote">On 27 March 2012 19:07, Mark Proctor <span dir="ltr">&lt;<a href="mailto:mproctor@codehaus.org" target="_blank">mproctor@codehaus.org</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">query can
            somewhat help for re-usable elements, as per &quot;Add CE<br>
            templates&quot;.  You can wrap elements in a query and use that
            inside a<br>
            rule, remember our queries are reactive if you leave off the
            ?.<br>
            <span><font color="#888888"><br>
                Mark<br>
              </font></span>
            <div><br>
              On 27/03/2012 10:02, Wolfgang Laun wrote:<br>
              &gt; I&#39;ve collected a few things I&#39;ve been moaning
              about... They are<br>
              &gt; intended to make DRL programming more convenient,
              given the current<br>
              &gt; set of the Engine&#39;s capabilities, i.e., enhance
              Drools&#39; usability!<br>
              &gt;<br>
              &gt; AFAIK, none of these proposals would break backward
              compatibility.<br>
              &gt;<br>
            </div>
            <div>
              <div>&gt; Cheers<br>
                &gt; Wolfgang<br>
                &gt;<br>
                &gt;<br>
                &gt; On 27/03/2012, Mark Proctor&lt;<a href="mailto:mproctor@codehaus.org" target="_blank">mproctor@codehaus.org</a>&gt;
                 wrote:<br>
                &gt;&gt; I&#39;ve put up a wiki page to collect thoughts on
                ideas that would involve<br>
                &gt;&gt; breaking backwards compatability in Drools.
                It&#39;s aimed to produce ideas<br>
                &gt;&gt; for Drools 6.0.<br>
                &gt;&gt;<br>
                &gt;&gt; No suggestion is too silly, think of it as a
                brainstorming area for<br>
                &gt;&gt; alternative syntaxes and behaviours to what we
                have now, so knock<br>
                &gt;&gt; yourself out.<br>
                &gt;&gt; <a href="https://community.jboss.org/wiki/BreakingChangesSuggestions" target="_blank">https://community.jboss.org/wiki/BreakingChangesSuggestions</a><br>
                &gt;&gt;<br>
                &gt;&gt; Mark<br>
                &gt;&gt; _______________________________________________<br>
                &gt;&gt; rules-dev mailing list<br>
                &gt;&gt; <a href="mailto:rules-dev@lists.jboss.org" target="_blank">rules-dev@lists.jboss.org</a><br>
                &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
                &gt;&gt;<br>
                &gt; _______________________________________________<br>
                &gt; rules-dev mailing list<br>
                &gt; <a href="mailto:rules-dev@lists.jboss.org" target="_blank">rules-dev@lists.jboss.org</a><br>
                &gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
                <br>
                _______________________________________________<br>
                rules-dev mailing list<br>
                <a href="mailto:rules-dev@lists.jboss.org" target="_blank">rules-dev@lists.jboss.org</a><br>
                <a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
rules-dev mailing list
<a href="mailto:rules-dev@lists.jboss.org" target="_blank">rules-dev@lists.jboss.org</a>
<a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a>
</pre>
    </blockquote>
    <br>
  </div></div></div>

<br>_______________________________________________<br>
rules-dev mailing list<br>
<a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
<br></blockquote></div><br>