I think Eric Jain wrote: I'm sorry, Eric, I'm not sure how this fell through the cracks, but I meant to reply to your message and never did.
> Looks good! In particular, two new features may prove to be extremely > useful, for what we are doing: > > 1. The accumulate function. Small suggestion: I assume that the most > common use of this feature is for obtaining a count of matching facts. > Perhaps it would therefore be good to have a shorthand syntax for doing > so, e.g. > > (test (> (count (employee (salary ?s&:(> ?s 100000)))) 10)) I've thought of not only "count" but also "sum," "product," and "collect." Each of these could be specifically optimized to be faster than something built on top of the generalized "accumulate." > > Performance question: How often is the accumulation run? Every time an > employee is modified? Every time the salary slot of an employee is > modified? The generalized version has to run every time a fact matches the pattern. The specific versions would be faster because they could (for example) have a running count that was just incremented or decremented as needed. > > 2. XML syntax and API for creating rules. This will make things a lot > simpler when we eventually need to create our own rule syntax. Haven't > looked at this in detail yet, but one minor sugestion: Instead of > name="MAIN::foo", name="foo" package="MAIN" may be easier to deal with > in many situations. Yes, you're right. Actually, just the regular Jess API should work this way too, but unfortunately it gre in a different direction. I was actually thinking of <module name="MAIN"> <rule name="foo"> with modules that could be opened and closed as needed. Which is better, do you think? > > >From what I can see there isn't any new functionality for better > handling of java.util.Collections or automatically asserting nested > objects, but I gave up working with complex objects quite a while ago > anyways :-) Not yet, but it's coming. --------------------------------------------------------- Ernest Friedman-Hill Science and Engineering PSEs Phone: (925) 294-2154 Sandia National Labs FAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov -------------------------------------------------------------------- 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] --------------------------------------------------------------------
