My latest creation using Lisa on ABL (armed-bear Lisp): http://jlisa.sourceforge.net .... imagine evaluating rules like this one: (defrule climb-to-hold () (goal-is-to (action hold) (argument-1 ?obj)) (thing (name ?obj) (location ?place (not ceiling)) (on-top-of ?on) (weight light)) (monkey (location ?place) (on-top-of (not ?on))) (not (goal-is-to (action on) (argument-1 ?on))) => (assert ((make-instance 'goal-is-to :action 'on :argument-1 ?on)))) on Java objects, while having all the power of CommonLisp available. MikeBeedle