I think Thomas Gentsch wrote: > > I'd favor this a lot ... maybe a concept might be to map Java beans > not to facts but rather to some kind of 'objects' (as COOL in Clips, > which *do* behave as desired, i.e. here a rule fires only if any of > the involved object properties has changed, real facts instead > behave as in Jess).
If you think about it, from an implementation perspective, what COOL does is to map each property of an object onto a separate fact -- i.e., something like the familiar object/attribute/value triples: (instance (object ?o) (property ?p) (value ?v)) so one instance maps onto many facts, which is why they are independent from the Rete network's point of view. It should be possible to change the shadow fact implementation to look like this, while the syntax still looks just like it looks now. > > Of course this would require major user Jess code modifications, unless > maybe you accept both formats above, and switch the behavior depending > on the flavor - the first rule fires with the current policy (if *any* > slot of the fact/bean changes), the latter with the alternate policy. > This way you could have both and would be even backward compatible. Well, as I said, this is too radical of a change to be runtime-configurable. Jess's "small and simple" philosophy would be sorely challenged by this. We'll have to decide one way or the other. I think what might happen is that the syntax doesn't change, but *both* facts and definstances get the new behavior -- i.e., the new unordered fact implementation. I think most fact-based code would actually work the same. The problem is with Java code. I'll have to think about how to keep Java code that manipulates Fact objects from breaking. The data structure would have to stay the same, but the Rete network itself would have to change, I suppose. --------------------------------------------------------- Ernest Friedman-Hill Distributed Systems Research Phone: (925) 294-2154 Sandia National Labs FAX: (925) 294-2234 Org. 8920, MS 9012 [EMAIL PROTECTED] PO Box 969 http://herzberg.ca.sandia.gov Livermore, CA 94550 -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] --------------------------------------------------------------------
