I think Thomas Barnekow wrote:
> 
> Then what exactly is the rationale behind changing a fact's id after having
> modified a slot? Does a modification produce, at least conceptually, a new
> fact or is it still the same fact? Is the fact id a mixture of an object's
> "identity" and some versioning information? 
> 
> Thomas
> 

There really is no rationale that I'm aware of -- that's just the way
it's always been done. Jess is just doing what CLIPS does. 

Because of the Rete algorithm works, a "modify" is really a retract
followed by an assert -- i.e., the fact is removed, changed, and
reasserted. I suppose this is why in CLIPS the ID changes; I guess
they viewed it as "retract, create new, assert." But in Jess, a Fact
is a Java object, and that same object gets reused, deliberately. The
ID gets updated just because that's how it's always been done.

Jess would have no problem functioning if the ID -wasn't-
updated. Would this be a useful option? The recent changes I've been
describing -- where the bound "fact-id" is really the fact itself --
has many useful properties beyond what you gain from having unchanging
ids.



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

Reply via email to