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]
--------------------------------------------------------------------

Reply via email to