Hi Folks,

Well, I've teased you long enough. Jess 4.1b4 is available at the
usual place:

  http://herzberg.ca.sandia.gov/jess/download.html

4.1 was supposed to be mostly bugfixes, but it's been turning into a
major release. There are a lot of nifty new language features: dynamic
salience, default-dynamic deftemplate slots, more automatic type
conversions, etc. Jess' innards have been further streamlined, and
everything is ready for 4.2 to add Serialization.

The manual has been meticulously proofread and edited, and reformatted
in places as well, courtesy of our old friend, Win Carus. I added quite
a bit of new material, as always trying to explain things that have
been discussed on this list and in my personal email.

The speed improvements I've been promising will show up if you make use
of the new 'unique' conditional element. Careful use of it can speed
most programs up by a significant percentage: I've seen of the order
of 20-30% for several rulebases. It's easy to ass 'unique' to existing
rules: see the README to learn about the 'unique' CE. I'm very
interested in any feedback or anecdotes about this new feature.

Brave readers might want to have a look at jess/examples/fastword/* to
learn about the (otherwise undocumented) 'java-test' feature. 

>From the README:

addUserfunction, addDeffunction, etc collapsed into one addUserunction
routine in Rete class; same with 'findUserfunction'. RU.getAtom() and
RU.putAtom are gone!  Userfunction.name() now returns
String. ControlStructure interface used to clean up handling of such
things. ReteCompiler uses Hashtables of Bindings instead of int[][]
for vartables. Added default-dynamic deftemplate slot qualifier. Added
set-/get-reset-globals, and changed the default defglobal reset
behaviour. Added dynamic rule salience. Removed arbitrary limit of 32
slots for ordered facts and 32 tests per slot for all facts. "unique"
CE (15-30% speed increase for many problems!) Various documentation
improvements (many thanks to Win Carus.) Better error reporting
(addContext() call in ReteException.) Malformed calls to 'eval' or
'build' or 'executeCommand' no longer go into an infinite loop on
EOF. Added "store" and "fetch". Added "external-addressp". Rearranged
Test1, Test2 classes into an inheritance hierarchy with a virtual
doTest method, allowing for alternate implementations (undocumented
java-test functionality included). Value class will do more type
conversions automatically. Final multifield argument of a deffunction
now acts as a wildcard, as in CLIPS (thanks David Young.)

---------------------------------------------------------
Ernest Friedman-Hill  
Distributed Systems Research        Phone: (510) 294-2154
Sandia National Labs                FAX:   (510) 294-2234
Org. 8920, MS 9214                  [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. List problems? Notify [EMAIL PROTECTED]
---------------------------------------------------------------------

Reply via email to