I think Orchard, Bob wrote:
> I guess I was thinking that this was a runtime thing and not a 
> compile-time decision.

The implementation I came up with is nice because many different
features continue to work, but with the new semantics. In a nutshell,
what happens is that for facts that can be treated this way (ooh, just
realized something, more later) we don't push the facts themselves
through the Rete network; instead we push (fact-id, slot, value)
triples through. This way things naturally can respond to just single
slots. The rule compiler adds tests to match these triples up and
prevent cross-talk.

What I just realized is that the engine has to treat facts differently
when they're asserted, which makes the per-pattern specification of
this behavior problematic. I still think it can be done, though.

> 
> > 
> > I wonder if ONLY giving you the ability to make this decision on a
> > pattern-by-pattern basis would be enough. I posit that it would
> > indeed, and would be easy to use with the square-bracket syntax.
> > 
> 
> I agree. This would be the simplest solution. With this you wouldn't 
> want to change any global default. This might not satisfy Alan's
> concern about more than 2 possible ways to do things ... the KARMA
> option.

Yes, indeed. Maybe there's an equally unobstrusive but more flexible syntax.

> 
> Patterns with just a template name like (factA) would match when any
> slot was changed but patterns like [factA] would never(?) match since
> there is no slot to match and it requires some slot 'in the pattern'
> to change before matching can occur.

I think by definition [factA] and (factA) would mean the same thing;
the implementations are different, though.

---------------------------------------------------------
Ernest Friedman-Hill  
Distributed Systems Research        Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
PO Box 969, MS 9012                 [EMAIL PROTECTED]
Livermore, CA 94550         http://herzberg.ca.sandia.gov

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