Hi again, Thanks for confirming my supspiscion on the bug with patterns. I now have another problem, that I think maybe You can help me with. I have read the part about queries in the Jess online manual, but it seems to get me nowhere.
I have defined a template that looks like this (simplified): (deftemplate postdiction (slot last)) This should allow me to make a chain of facts. Sometimes "last" contains nil. I have defined the following query: (defquery causal-path-exists-query (declare (variables ?last)) (postdiction (last ?last))) The query should help me get the fact-ID's of those facts that have a specific "last". Now, the following function should return true, if there is a chain/path from one fact to another. (deffunction causal-path-exists (?postA ?postB) (bind ?it (run-query causal-path-exists-query ?postB)) (while (?it hasNext) (bind ?token (call ?it next)) (bind ?fact (call ?token fact 1)) (if (eq ?fact ?postA) then (return TRUE) else (return (causal-path-exists ?postA ?fact))) ) (return FALSE)) The function will compile, but it returns a null-pointer exception when I run it. I have pasted the output from the run below, perhaps someone can help me debug - I think the error occurs already in the call "(bind ?it (run-query causal-path-exists-query ?postB))". Have I gotten it all wrong?? Kind regards, Morten g:\ekspert\Jess61a3>java jess.Main mfm/mfm.clp Jess, the Java Expert System Shell Copyright (C) 2001 E.J. Friedman Hill and the Sandia Corporation Jess Version 6.1a3 7/23/2002 FIRE 1 MAIN::causal-find-abnormal f-7, f-48, f-2 ==> f-50 (MAIN::postdiction (function "F1.4") (state loflow) (distance 0) (last nil) (upstream-prop TRUE) (downstream-prop nil) (not-possibly-primary nil) (test-status not-affirmed)) ==> f-51 (MAIN::postdiction (function "F1.4") (state loflow) (distance 0) (last nil) (upstream-prop nil) (downstream-prop TRUE) (not-possibly-primary nil) (test-status not-affirmed)) ==> f-52 (MAIN::postdiction (function "F1.4") (state loflow) (distance 0) (last nil) (upstream-prop nil) (downstream-prop nil) (not-possibly-primary nil) (test-status not-affirmed)) FIRE 2 MAIN::causal-transport-balance-transport-lo-agent f-10, f-11, f-5, f-6, f-7, f-51 ==> f-53 (MAIN::postdiction (function "F1.2") (state loflow) (distance 1) (last <Fact-51>) (upstream-prop nil) (downstream-prop TRUE) (not-possibly-p rimary nil) (test-status not-affirmed)) ==> f-54 (MAIN::__query-trigger-causal-path-exists-query <Fact-51>) FIRE 1 MAIN::causal5 f-12, f-7, f-8, f-50 ==> f-55 (MAIN::postdiction (function "F1.5") (state hivol) (distance 1) (last <Fact-50>) (upstream-prop TRUE) (downstream-prop nil) (not-possibly-pr imary nil) (test-status not-affirmed)) ==> f-56 (MAIN::__query-trigger-causal-path-exists-query <Fact-50>) FIRE 1 MAIN::causal-balance-transport-lo f-11, f-6, f-7, f-51 ==> f-57 (MAIN::postdiction (function "F1.3") (state leak) (distance 1) (last <Fact-51>) (upstream-prop nil) (downstream-prop TRUE) (not-possibly-pri mary nil) (test-status not-affirmed)) FIRE 1 MAIN::causal-source-transport-lo-agent f-9, f-4, f-5, f-53 ==> f-58 (MAIN::postdiction (function "F1.1") (state lovol) (distance 2) (last <Fact-53>) (upstream-prop nil) (downstream-prop TRUE) (not-possibly-pr imary nil) (test-status not-affirmed)) FIRE 1 MAIN::causal-affirm-state-a f-47, f-58 FIRE 1 MAIN::causal-affirm-state-c f-49, f-55 FIRE 1 MAIN::causal-affirm-state-a f-48, f-52 FIRE 2 MAIN::causal-affirm-state-a f-48, f-51 FIRE 1 MAIN::causal-affirm-state-a f-48, f-50 FIRE 1 MAIN::causal-identify-primary-a f-55 FIRE 2 MAIN::causal-identify-primary-c f-57 FIRE 3 MAIN::causal-identify-primary-c f-53 FIRE 4 MAIN::causal-source-transport-lo-agent f-9, f-4, f-5, f-53 ==> f-59 (MAIN::postdiction (function "F1.1") (state lovol) (distance 2) (last <Fact-53>) (upstream-prop nil) (downstream-prop TRUE) (not-possibly-pr imary nil) (test-status not-affirmed)) FIRE 1 MAIN::causal-affirm-state-a f-47, f-59 FIRE 2 MAIN::causal-identify-primary-e f-52, <== f-54 (MAIN::__query-trigger-causal-path-exists-query <Fact-51>) FIRE 5 MAIN::causal-identify-primary-e f-59, <== f-56 (MAIN::__query-trigger-causal-path-exists-query <Fact-50>) Jess reported an error in routine Node1TEQ.call while executing rule LHS (TEQ) while executing rule LHS (TECT) while executing (modify ?post (test-status affirmed)) while executing defrule MAIN::causal-affirm-state-a while executing (run-query causal-path-exists-query ?postB) while executing (bind ?iter (run-query causal-path-exists-query ?postB)) while executing deffunction causal-path-exists while executing (causal-path-exists ?postA ?postB) while executing 'test' CE while executing rule LHS (Node2) while executing rule LHS (TEQ) while executing rule LHS (TECT) while executing (modify ?post (test-status affirmed)) while executing defrule MAIN::causal-affirm-state-a while executing (run-query causal-path-exists-query ?postB) while executing (bind ?iter (run-query causal-path-exists-query ?postB)) while executing deffunction causal-path-exists while executing (causal-path-exists ?postA ?postB) while executing 'test' CE while executing rule LHS (Node2) while executing rule LHS (TEQ) while executing rule LHS (TECT) while executing (modify ?post (test-status conflict)) while executing defrule MAIN::causal-affirm-state-c while executing (run-query causal-path-exists-query ?postB) while executing (bind ?iter (run-query causal-path-exists-query ?postB)) while executing deffunction causal-path-exists while executing (causal-path-exists ?postA ?postB) while executing 'test' CE while executing rule LHS (Node2) while executing rule LHS (TEQ) while executing rule LHS (TECT) while executing (modify ?post (test-status affirmed)) while executing defrule MAIN::causal-affirm-state-a while executing (run-query causal-path-exists-query ?postB) while executing (bind ?iter (run-query causal-path-exists-query ?postB)) while executing deffunction causal-path-exists while executing (causal-path-exists ?postA ?postB) while executing 'test' CE while executing rule LHS (Node2) while executing rule LHS (TEQ) while executing rule LHS (TECT) while executing (assert (MAIN::postdiction (function ?function) (state ?state) (distance ?distance) (last ?last) (upstream-prop ?upstream-prop ) (downstream-prop ?downstream-prop) (not-possibly-primary nil) (test-status not-affirmed))) while executing deffunction createpostdiction while executing (createpostdiction ?func-up lovol (+ ?dist 1) TRUE nil ?last) while executing defrule MAIN::causal-source-transport-lo-agent while executing (run-query causal-path-exists-query ?postB) while executing (bind ?iter (run-query causal-path-exists-query ?postB)) while executing deffunction causal-path-exists while executing (causal-path-exists ?postA ?postB) while executing 'test' CE while executing rule LHS (Node2) while executing rule LHS (TEQ) while executing rule LHS (TECT) while executing (assert (MAIN::postdiction (function ?function) (state ?state) (distance ?distance) (last ?last) (upstream-prop ?upstream-prop ) (downstream-prop ?downstream-prop) (not-possibly-primary nil) (test-status not-affirmed))) while executing deffunction createpostdiction while executing (createpostdiction ?func-up leak (+ ?dist 1) TRUE nil ?last) while executing defrule MAIN::causal-balance-transport-lo while executing (run-query causal-path-exists-query ?postB) while executing (bind ?iter (run-query causal-path-exists-query ?postB)) while executing deffunction causal-path-exists while executing (causal-path-exists ?postA ?postB) while executing 'test' CE while executing rule LHS (Node2) while executing rule LHS (TEQ) while executing rule LHS (TECT) while executing (assert (MAIN::postdiction (function ?function) (state ?state) (distance ?distance) (last ?last) (upstream-prop ?upstream-prop ) (downstream-prop ?downstream-prop) (not-possibly-primary nil) (test-status not-affirmed))) while executing deffunction createpostdiction while executing (createpostdiction ?func-down hivol (+ ?dist 1) nil TRUE ?last) while executing defrule MAIN::causal5 while executing (run-query causal-path-exists-query ?postB) while executing (bind ?iter (run-query causal-path-exists-query ?postB)) while executing deffunction causal-path-exists while executing (causal-path-exists ?postA ?postB) while executing 'test' CE while executing rule LHS (Node2) while executing rule LHS (TEQ) while executing rule LHS (TECT) while executing (assert (MAIN::postdiction (function ?function) (state ?state) (distance ?distance) (last ?last) (upstream-prop ?upstream-prop ) (downstream-prop ?downstream-prop) (not-possibly-primary nil) (test-status not-affirmed))) while executing deffunction createpostdiction while executing (createpostdiction ?func-up loflow (+ ?dist 1) TRUE nil ?last) while executing defrule MAIN::causal-transport-balance-transport-lo-agent while executing (run). Message: Error during LHS execution. Program text: ( run ) at line 378. Nested exception is: null java.lang.NullPointerException at jess.Test2Simple.doTest(Test2Simple.java:86) at jess.Node2.runTests(Node2.java:447) at jess.Node2.doRunTestsVaryLeft(Node2.java:420) at jess.Node2.runTestsVaryLeft(Node2.java:389) at jess.Node2.callNodeRight(Node2.java:243) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TEQ.callNodeRight(Node1TEQ.java:46) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TECT.callNodeRight(Node1TECT.java:43) at jess.Node1.passAlong(Node1.java:60) at jess.RootNode.callNodeRight(ReteCompiler.java:753) at jess.Rete.processToken(Rete.java:872) at jess.FactList.modifyRegularFact(FactList.java:341) at jess.FactList._modify(FactList.java:288) at jess.Rete._modify(Rete.java:386) at jess.Modify.call(Funcall.java:941) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.Defrule.fire(Defrule.java:225) at jess.Activation.fire(Activation.java:68) at jess.Agenda.run(Agenda.java:193) at jess.Rete.run(Rete.java:1024) at jess.RunQuery.call(MiscFunctions.java:680) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Bind.call(Funcall.java:763) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Deffunction.call(Deffunction.java:187) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Test1.doTest(Test1.java:87) at jess.NodeTest.runTests(NodeTest.java:172) at jess.NodeTest.callNodeLeft(NodeTest.java:149) at jess.NodeTest.passAlong(NodeTest.java:213) at jess.Node2.doRunTestsVaryLeft(Node2.java:428) at jess.Node2.runTestsVaryLeft(Node2.java:389) at jess.Node2.callNodeRight(Node2.java:243) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TEQ.callNodeRight(Node1TEQ.java:46) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TECT.callNodeRight(Node1TECT.java:43) at jess.Node1.passAlong(Node1.java:60) at jess.RootNode.callNodeRight(ReteCompiler.java:753) at jess.Rete.processToken(Rete.java:872) at jess.FactList.modifyRegularFact(FactList.java:341) at jess.FactList._modify(FactList.java:288) at jess.Rete._modify(Rete.java:386) at jess.Modify.call(Funcall.java:941) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.Defrule.fire(Defrule.java:225) at jess.Activation.fire(Activation.java:68) at jess.Agenda.run(Agenda.java:193) at jess.Rete.run(Rete.java:1024) at jess.RunQuery.call(MiscFunctions.java:680) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Bind.call(Funcall.java:763) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Deffunction.call(Deffunction.java:187) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Test1.doTest(Test1.java:87) at jess.NodeTest.runTests(NodeTest.java:172) at jess.NodeTest.callNodeLeft(NodeTest.java:149) at jess.NodeTest.passAlong(NodeTest.java:213) at jess.Node2.doRunTestsVaryRight(Node2.java:355) at jess.Node2.runTestsVaryRight(Node2.java:312) at jess.Node2.callNodeLeft(Node2.java:186) at jess.Node1RTL.passAlong(Node1RTL.java:35) at jess.Node1RTL.callNodeRight(Node1RTL.java:24) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TEQ.callNodeRight(Node1TEQ.java:46) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TECT.callNodeRight(Node1TECT.java:43) at jess.Node1.passAlong(Node1.java:60) at jess.RootNode.callNodeRight(ReteCompiler.java:753) at jess.Rete.processToken(Rete.java:872) at jess.FactList.modifyRegularFact(FactList.java:341) at jess.FactList._modify(FactList.java:288) at jess.Rete._modify(Rete.java:386) at jess.Modify.call(Funcall.java:941) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.Defrule.fire(Defrule.java:225) at jess.Activation.fire(Activation.java:68) at jess.Agenda.run(Agenda.java:193) at jess.Rete.run(Rete.java:1024) at jess.RunQuery.call(MiscFunctions.java:680) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Bind.call(Funcall.java:763) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Deffunction.call(Deffunction.java:187) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Test1.doTest(Test1.java:87) at jess.NodeTest.runTests(NodeTest.java:172) at jess.NodeTest.callNodeLeft(NodeTest.java:149) at jess.NodeTest.passAlong(NodeTest.java:213) at jess.Node2.doRunTestsVaryRight(Node2.java:355) at jess.Node2.runTestsVaryRight(Node2.java:312) at jess.Node2.callNodeLeft(Node2.java:186) at jess.Node1RTL.passAlong(Node1RTL.java:35) at jess.Node1RTL.callNodeRight(Node1RTL.java:24) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TEQ.callNodeRight(Node1TEQ.java:46) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TECT.callNodeRight(Node1TECT.java:43) at jess.Node1.passAlong(Node1.java:60) at jess.RootNode.callNodeRight(ReteCompiler.java:753) at jess.Rete.processToken(Rete.java:872) at jess.FactList.modifyRegularFact(FactList.java:341) at jess.FactList._modify(FactList.java:288) at jess.Rete._modify(Rete.java:386) at jess.Modify.call(Funcall.java:941) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.Defrule.fire(Defrule.java:225) at jess.Activation.fire(Activation.java:68) at jess.Agenda.run(Agenda.java:193) at jess.Rete.run(Rete.java:1024) at jess.RunQuery.call(MiscFunctions.java:680) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Bind.call(Funcall.java:763) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Deffunction.call(Deffunction.java:187) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Test1.doTest(Test1.java:87) at jess.NodeTest.runTests(NodeTest.java:172) at jess.NodeTest.callNodeLeft(NodeTest.java:149) at jess.NodeTest.passAlong(NodeTest.java:213) at jess.Node2.doRunTestsVaryRight(Node2.java:355) at jess.Node2.runTestsVaryRight(Node2.java:312) at jess.Node2.callNodeLeft(Node2.java:186) at jess.Node1RTL.passAlong(Node1RTL.java:35) at jess.Node1RTL.callNodeRight(Node1RTL.java:24) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TEQ.callNodeRight(Node1TEQ.java:46) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TECT.callNodeRight(Node1TECT.java:43) at jess.Node1.passAlong(Node1.java:60) at jess.RootNode.callNodeRight(ReteCompiler.java:753) at jess.Rete.processToken(Rete.java:872) at jess.FactList._assert(FactList.java:183) at jess.FactList.assertFact(FactList.java:145) at jess.Rete.assertFact(Rete.java:319) at jess.Assert.call(Funcall.java:312) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Deffunction.call(Deffunction.java:187) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.Defrule.fire(Defrule.java:225) at jess.Activation.fire(Activation.java:68) at jess.Agenda.run(Agenda.java:193) at jess.Rete.run(Rete.java:1024) at jess.RunQuery.call(MiscFunctions.java:680) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Bind.call(Funcall.java:763) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Deffunction.call(Deffunction.java:187) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Test1.doTest(Test1.java:87) at jess.NodeTest.runTests(NodeTest.java:172) at jess.NodeTest.callNodeLeft(NodeTest.java:149) at jess.NodeTest.passAlong(NodeTest.java:213) at jess.Node2.doRunTestsVaryRight(Node2.java:355) at jess.Node2.runTestsVaryRight(Node2.java:312) at jess.Node2.callNodeLeft(Node2.java:186) at jess.Node1RTL.passAlong(Node1RTL.java:35) at jess.Node1RTL.callNodeRight(Node1RTL.java:24) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TEQ.callNodeRight(Node1TEQ.java:46) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TECT.callNodeRight(Node1TECT.java:43) at jess.Node1.passAlong(Node1.java:60) at jess.RootNode.callNodeRight(ReteCompiler.java:753) at jess.Rete.processToken(Rete.java:872) at jess.FactList._assert(FactList.java:183) at jess.FactList.assertFact(FactList.java:145) at jess.Rete.assertFact(Rete.java:319) at jess.Assert.call(Funcall.java:312) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Deffunction.call(Deffunction.java:187) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.Defrule.fire(Defrule.java:225) at jess.Activation.fire(Activation.java:68) at jess.Agenda.run(Agenda.java:193) at jess.Rete.run(Rete.java:1024) at jess.RunQuery.call(MiscFunctions.java:680) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Bind.call(Funcall.java:763) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Deffunction.call(Deffunction.java:187) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Test1.doTest(Test1.java:87) at jess.NodeTest.runTests(NodeTest.java:172) at jess.NodeTest.callNodeLeft(NodeTest.java:149) at jess.NodeTest.passAlong(NodeTest.java:213) at jess.Node2.doRunTestsVaryRight(Node2.java:355) at jess.Node2.runTestsVaryRight(Node2.java:312) at jess.Node2.callNodeLeft(Node2.java:186) at jess.Node1RTL.passAlong(Node1RTL.java:35) at jess.Node1RTL.callNodeRight(Node1RTL.java:24) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TEQ.callNodeRight(Node1TEQ.java:46) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TECT.callNodeRight(Node1TECT.java:43) at jess.Node1.passAlong(Node1.java:60) at jess.RootNode.callNodeRight(ReteCompiler.java:753) at jess.Rete.processToken(Rete.java:872) at jess.FactList._assert(FactList.java:183) at jess.FactList.assertFact(FactList.java:145) at jess.Rete.assertFact(Rete.java:319) at jess.Assert.call(Funcall.java:312) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Deffunction.call(Deffunction.java:187) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.Defrule.fire(Defrule.java:225) at jess.Activation.fire(Activation.java:68) at jess.Agenda.run(Agenda.java:193) at jess.Rete.run(Rete.java:1024) at jess.RunQuery.call(MiscFunctions.java:680) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Bind.call(Funcall.java:763) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Deffunction.call(Deffunction.java:187) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Test1.doTest(Test1.java:87) at jess.NodeTest.runTests(NodeTest.java:172) at jess.NodeTest.callNodeLeft(NodeTest.java:149) at jess.NodeTest.passAlong(NodeTest.java:213) at jess.Node2.doRunTestsVaryRight(Node2.java:355) at jess.Node2.runTestsVaryRight(Node2.java:312) at jess.Node2.callNodeLeft(Node2.java:186) at jess.Node1RTL.passAlong(Node1RTL.java:35) at jess.Node1RTL.callNodeRight(Node1RTL.java:24) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TEQ.callNodeRight(Node1TEQ.java:46) at jess.Node1.passAlong(Node1.java:60) at jess.Node1TECT.callNodeRight(Node1TECT.java:43) at jess.Node1.passAlong(Node1.java:60) at jess.RootNode.callNodeRight(ReteCompiler.java:753) at jess.Rete.processToken(Rete.java:872) at jess.FactList._assert(FactList.java:183) at jess.FactList.assertFact(FactList.java:145) at jess.Rete.assertFact(Rete.java:319) at jess.Assert.call(Funcall.java:312) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.FuncallValue.resolveValue(FuncallValue.java:33) at jess.Deffunction.call(Deffunction.java:187) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.Defrule.fire(Defrule.java:225) at jess.Activation.fire(Activation.java:68) at jess.Agenda.run(Agenda.java:193) at jess.Agenda.run(Agenda.java:173) at jess.Rete.run(Rete.java:1008) at jess.HaltEtc.call(Funcall.java:1460) at jess.FunctionHolder.call(FunctionHolder.java:37) at jess.Funcall.execute(Funcall.java:270) at jess.Jesp.parseAndExecuteFuncall(Jesp.java:1589) at jess.Jesp.parseSexp(Jesp.java:183) at jess.Jesp.parse(Jesp.java:62) at jess.Main.execute(Main.java:126) at jess.Main.main(Main.java:24) g:\ekspert\Jess61a3> -------------------------------------------------------------------- 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] --------------------------------------------------------------------