Thanks for the information. Nothing like calling a release "final" to
flush out new bug reports!

Here's a patch:

----------------------------------------------------------------------
--- c:/Jess50/jess/Node2.java   Mon Jan 31 08:06:34 2000
+++ jess/Node2.java     Wed Feb 02 16:31:36 2000
@@ -493,7 +493,12 @@
                   (Binding) 
m_defrule.getBindings().get(test.m_slotValue.variableValue(null));
 
                 if (b.m_factIndex < token.size())
-                  val = token.fact(b.m_factIndex).get(b.m_slotIndex);
+                  {
+                    val = token.fact(b.m_factIndex).get(b.m_slotIndex);
+                    
+                    if (b.m_subIndex != -1)
+                      val = val.listValue(null).get(b.m_subIndex);
+                  }
 
                 if (type == RU.SLOT)
                   break;
----------------------------------------------------------------------


I think Ashraf Afifi wrote:
> 
> 
> The following is a technical problem I am facing in release 5.
> 
> In backward chaining if you write this code it works fine:
> 
> (do-backward-chaining foo)
> (defrule xyz
>      (bar ?a)
>      (foo ?a)
>      => ....)
> (assert( bar abc))
> this causes fact (need-foo abc) to be asserted.
> 
> But, if you rewrite it as
> (do-backward-chaining foo)
> (defrule xyz
>      (bar ?a ?b)
>      (foo ?a ?b)
>      => ....)
> (assert( bar a b))
> 
> this causes the fact (need-foo a b a b a b) to be asserted ????
> 
> If I print the arguments of this fact, I get  ((a b)(a b)(a b))
> 
> I don't know to whom should I report this problem?
> 
> regards
> 
> Ashraf Afifi
> 
> 
> 
> 



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