> From [EMAIL PROTECTED] Tue Dec 15 16:57:11 1998
> However, as a "rule programmer" I am not satisfied with it. My
> understanding of the principle of refractoriness (or my desires about it)
> is that no activation identical to one which has already been executed
> should enter the agenda. By "identical activations" I mean activations
> which are described by the same rule name and the same fact-address list.
> Here is where "pseudo tags" come in: conceptually the two activations of
> foo-2 corresponding to the SAME fact (A 1) differ only in terms of a
> "pseudo tag" corresponding to the absence of a fact (B 1) (the comma at the
> end of the fact-address list suggests there is something more which cannot
> be displayed ...)
>
> Marco
I'm only joining this discussion because I'm in a cranky mood, so be
forewarned...
This issue is really independent of the way negations are treated.
It applies equally to, say, the rule
(defrule x
(a)
=>
(printout t "hello" crlf)
)
which will fire every time (a) becomes true when it wasn't before.
So, if you assert (a), x will be activated and will fire upon a (run).
Retract (a), then assert it again, and x will again be activated and
will fire upon a (run).
I'm not sure what "refractoriness" is, but as a long-time CLIPS/Jess
user I would be more than a little upset if someone changed this
behavior! It simplifies the required logic in many situations.
To deal with the cases when I really want x to fire once and only once,
I just define it as:
(defrule once-only-x
(a)
(not (fired-x-already))
=>
(printout t "hello" crlf)
(assert (fired-x-already))
)
Perhaps this seems inelegant, but it's become so second nature to me
that my fingers end up typing it before I've even thought consciously
about it. I too like Prolog, but it's a different beast, after all.
Sidney Bailin
Knowledge Evolution, Inc.
---------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the
list. List problems? Notify [EMAIL PROTECTED]
---------------------------------------------------------------------