Hi Folks,
Well, bug reports have quieted down, and I'm well on my way towards
developing the next generation of Jess, so I thought it was time I
released the final version of Jess 4.1. There are really no new
features in this release, but three or four somewhat obscure but
important bug fixes. Jess 4.1 is the last version that will support
Java 1.0. You can grab it at the usual place:
http://herzberg.ca.sandia.gov/jess/download.html
The next release will be a 'technology preview' (too rough to be
called a beta) to let you in on some of the new features I've been
playing with. I've already mentioned inheritance between and amongst
defclasses and deftemplates, which works great, and serialization,
which I'm not happy with right now (Java Object Serialization is
-very- slow and -very- space-inefficient.) I haven't mentioned before
that I've got a form of backward chaining working:
;;----------------------------------------------------------------------
;; Trivial backwards-chaining demo.
;; Prints "2 and 2 is 4, while 2 and 3 is 5"
----------------------------------------------------------------------
;; Declare a deftemplate and make it backchain-reactive
(deftemplate sum (slot arg1) (slot arg2) (slot result))
(do-backward-chaining sum)
;; This rule fires only if the sums have already been done
(defrule print-2-and-2
(sum (arg1 2) (arg2 2) (result ?x))
(sum (arg1 2) (arg2 3) (result ?y))
=>
(printout t "2 and 2 is " ?x ", while 2 and 3 is " ?y crlf))
;; This rule fires if another rule wants a sum that has not
;; yet been done - this happens automatically based on the name of the
;; pattern "need-sum" and the do-backward-chaining declaration for "sum"
(defrule do-sums
(need-sum (arg1 ?x) (arg2 ?y))
=>
(assert (sum (arg1 ?x) (arg2 ?y) (result (+ ?x ?y)))))
(reset)
(run)
So you'll probably see a version of this within the next few weeks.
---------------------------------------------------------
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]
---------------------------------------------------------------------