<div>On 27 March 2012 20:19, Mark Proctor <span dir="ltr"><<a href="mailto:mproctor@codehaus.org">mproctor@codehaus.org</a>></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'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's one of the reasons why I've not pushed
drools-templates more. Because we also have "dsl" which are just
another form of templating. I'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'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 & to use).</li><li>Recursion is most likely an overkill; handle "recursive calls" 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'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"><<a href="mailto:mproctor@codehaus.org" target="_blank">mproctor@codehaus.org</a>></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 "Add CE<br>
templates". 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>
> I've collected a few things I've been moaning
about... They are<br>
> intended to make DRL programming more convenient,
given the current<br>
> set of the Engine's capabilities, i.e., enhance
Drools' usability!<br>
><br>
> AFAIK, none of these proposals would break backward
compatibility.<br>
><br>
</div>
<div>
<div>> Cheers<br>
> Wolfgang<br>
><br>
><br>
> On 27/03/2012, Mark Proctor<<a href="mailto:mproctor@codehaus.org" target="_blank">mproctor@codehaus.org</a>>
wrote:<br>
>> I've put up a wiki page to collect thoughts on
ideas that would involve<br>
>> breaking backwards compatability in Drools.
It's aimed to produce ideas<br>
>> for Drools 6.0.<br>
>><br>
>> No suggestion is too silly, think of it as a
brainstorming area for<br>
>> alternative syntaxes and behaviours to what we
have now, so knock<br>
>> yourself out.<br>
>> <a href="https://community.jboss.org/wiki/BreakingChangesSuggestions" target="_blank">https://community.jboss.org/wiki/BreakingChangesSuggestions</a><br>
>><br>
>> Mark<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>
>><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>
<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>