Jess actually already has this kind of polymorphism -- deftemplates
(and defclasses) can extend each other in the classic O-O sense. This
"rules extending rules" thing is a different kind of beast, I think --
it's more about groups of similar actions than it is about
polymorphism. It's to prevent you from having to write six rules that
all duplicate the first five patterns but all differ on the sixth;
then if the first five need to change, you can change them all in the
same place.
Note that although Jess does have polymorphic templates, it's somewhat
rare that I ever hear of someone using that feature.
I think Rich Halsey wrote:
> Not being a JESS expert, please excuse my (possible) ignorance - but, if the
> test on
> rule-1 is based on some base class X with method A and we extend X, modify
> the method
> A to test some other set of circumstances (a la polymorphism), then we have
> "extended"
> rule-1 (without it being intuitively obvious). I would think that this
> approach has
> far more value and lends itself to "polymorphic rules" (if there is such a
> critter).
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
> Behalf Of [EMAIL PROTECTED]
> Sent: Saturday, September 22, 2001 4:15 PM
> To: Jess Mailing List
> Subject: JESS: Some Ideas for Jess 6.1 ...
>
>
>
> Someone posted a question recently about "calling one rule from
> another," an interesting idea that doesn't hold up too well to
> scrutiny (how does the rule compiler determine if it's OK to pass the
> facts that matched one rule on to another rule as arguments?) But it's
> made me think of a related concept: one rule could -extend-
> another. Imagine something like
>
> (defrule rule-1
> (a b c)
> =>
> (do-something))
>
> (defrule rule-2 extends rule-1
> (d e f)
> =>
> (do-something-else))
>
> What would this syntax mean? My idea is that it means that rule-2 is
> equivalent to
>
> (defrule rule-3
> (a b c)
> (d e f)
> =>
> (do-something)
> (do-something-else))
>
> but there are other possible interpretations. Anyone care to comment
> on this? This seems like a really useful way to express the idea of
> having a family of rules that are all activated under similar, but not
> necessarily identical, circumstances.
>
> ---------------------------------------------------------
> 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]
> ---------------------------------------------------------------------
>
>
---------------------------------------------------------
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]
---------------------------------------------------------------------