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