Ah, I see what's happening. Thanks!

I think a better fix (same idea, but covers all possibilities) is to
move copies of the new line to two different places in the same
routine: one at about line 522, right after 

                slot.set(val, test.m_subIdx); 
+               val = Funcall.NIL;

and another at about line 536, right after 

       vv.set(val, i); 
+      val = Funcall.NIL;

These lines numbers refer to the file -after- the previous patch has
been applied. Together, these two should prevent similar problems in
other circumstances. 

I think Ashraf Afifi wrote:
> 
> 
> 
> I have added one line to the patch that you sent me. When I run the test in the
> forwarded message, the asserted fact is  (need-foo a b nil)
> 
>           Binding b =
>             (Binding)
> m_defrule.getBindings().get(test.m_slotValue.variableValue(null));
> +         val = Funcall.NIL;
>           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);
>             }
> 
> Ashraf Afifi
> ---------------------- Forwarded by Ashraf Afifi/Bsg/MetLife/US on 02/03/2000
> 05:38 PM ---------------------------
> 
> 
> Ashraf Afifi
> 02/03/2000 12:09 PM
> 
> To:   [EMAIL PROTECTED]
> cc:
> Subject:  2nd backward chaining bug after batch for release 5
> 
> Thanks for your fast reply yesterday. I applied it and further tested the
> system.
> 
>  (do-backward-chaining foo)
> 
> (defrule x
>      (xyz ?a ?b )
>      (foo ?a ?b $?c)
>      =>)
> (assert(xyz a b))
> 
> this causes the system to assert (need-foo a b b)
> when I print it. It is (a b b).
> I was expecting (need-foo a b nil) or (need-foo a b )
> 
> regards
> 
> Ashraf
> 
> 
> 
> 
> 
> 



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