<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Wolfgang Laun wrote:
<blockquote
cite="mid:17de7ee80911102331if61fcc6kfe3ebe2499d53a33@mail.gmail.com"
type="cite">
<pre wrap="">2009/11/11 Mark Proctor <a class="moz-txt-link-rfc2396E" href="mailto:mproctor@codehaus.org"><mproctor@codehaus.org></a>:
</pre>
<blockquote type="cite">
<pre wrap="">Wolfgang Laun wrote:
2009/11/10 Mark Proctor <a class="moz-txt-link-rfc2396E" href="mailto:mproctor@codehaus.org"><mproctor@codehaus.org></a>:
Wolfgang Laun wrote:
It is, however, very desirable to be able to write LHS in a more
structured way, not being forced to either repeat CEs or create
additional facts establishing secondary properties (such as isAdult).
<result-type> property <name>( <fact-type> <name> ){ <expression> }
and use this in LHS the way we are used to
What you just described there is prolog "like" in nature, we have some ideas
around that. My BRF talk last week showed some ideas on how we can integrate
POSL. The are upsides and downsides to fact inferrence and query based
inferrence - hopefully we can provide both worlds :)
Mark
What I'd really like to have does not extend current LHS semantics and
shouldn't have any impact on rete and inference mechanisms. The "property"
I'm thinking of is a pure CE expression abstraction, without side
effects etc. If
necessary, it could be implemented by textual expansion. Possibly it might
favour compilation into rete but I've never looked into this topic.
And if a function calls a function and we allow multiple arguments and
return value?
</pre>
</blockquote>
<pre wrap=""><!---->
Nested calls would have to conform to the locally visible objects,
i.e., the parameters
of the "property" the call appears in. Having exactly one return value is just
the point.
</pre>
<blockquote type="cite">
<pre wrap="">heh, the only thing you'll be missing then is unification
arguments ;) And then we have full prolog.
</pre>
</blockquote>
<pre wrap=""><!---->No, I don't want that.
</pre>
<blockquote type="cite">
<pre wrap="">But I get the jist of what you are getting at. Wait till we get the prolog
style backward chaining done, then we can see what additional work needs to
be done to satisfy your requirements. Id be worried about adding this in
first, and the backward chaining after, in-case it stunts anything.
</pre>
</blockquote>
<pre wrap=""><!---->
OK. Gives us time to discuss the details :)
And, perhaps, think about adding (relatively) simple things like
permitting, in DRL
import static ...;
</pre>
</blockquote>
you can already do this, but we call it import function. We just
haven't done the mapping to allow functions to be imported from
different namespaces, when they are defined in a drl, instead of on a
java class.<br>
<blockquote
cite="mid:17de7ee80911102331if61fcc6kfe3ebe2499d53a33@mail.gmail.com"
type="cite">
<pre wrap="">
final static String foo = ...;
</pre>
</blockquote>
This sounds like you want constants defined? I think we need to think
more on the whole area of constants, data initialisations and setup etc.<br>
<br>
Mark<br>
<blockquote
cite="mid:17de7ee80911102331if61fcc6kfe3ebe2499d53a33@mail.gmail.com"
type="cite">
<pre wrap="">
-W
</pre>
<blockquote type="cite">
<pre wrap="">Mark
</pre>
</blockquote>
<pre wrap=""><!---->_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
</pre>
</blockquote>
<br>
</body>
</html>