Hi Howard,

I think it would be all automated, so that interfaces are automatically recognized; the current "extends" system would be obsoleted for defclass templates. The difficulty here is not in implementing this, but in implementing it *efficiently*. Jess currently compiles slot tests in the Rete network into tests against known absolute integer offsets; with interface inheritance, this is no longer possible and some kind of lookup will have to be done. We're looking at different alternatives now. The 7.1 release is going to concentrate on tools and deployment/performance features; I think that interface inheritance is a 7.2 feature.


On Apr 11, 2007, at 1:24 PM, Greenblatt, Howard wrote:

This is great news. So then I have two questions:

1. If I have a java interface that extends multiple interfaces, I
should be able to defclass that interface and have it extend the
templates for its inherited interfaces.

For example with the following java interfaces:

public interface Ski;
public interface SpecialtySki;
public interface PowderSki extends Ski, SpecialtySki;
...

You should then be able to do something like the following:

(defclass ski Ski)
(defclass specialty-ski SpecialtySki)
(defclass powder-ski PowderSki extends ski specialty-ski)

Or even better, since you are using reflection to create the template,
you already know that the interface PowderSki extends the other two
interfaces. So you should be able to just say:

(defclass powder-ski PowderSki)

And have it know that the powder-ski template extends the other two
templates. Is this how it will work?


2. Any thoughts on when we might be able to see this implemented?


Thanks!

- Howard


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Ernest Friedman-Hill
Sent: Saturday, February 10, 2007 8:48 AM
To: [EMAIL PROTECTED]
Subject: Re: JESS: Inheritance, Interfaces and LHS


On Feb 8, 2007, at 1:36 PM, Juergen wrote:

Hi,

I have not fully grasped how Jess deals with Java class/interface
inheritance for LHS checks.

Jess currently handles single inheritance only; any one template can
have just one direct parent template, which can represent a class,
interface, or pure template. Support for multiple interface
inheritance is currently under development.


---------------------------------------------------------
Ernest Friedman-Hill
Advanced Software Research          Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
PO Box 969, MS 9012                 [EMAIL PROTECTED]
Livermore, CA 94550                 http://www.jessrules.com

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

--------------------------------------------------------------------
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 owner-jess- [EMAIL PROTECTED]
--------------------------------------------------------------------

---------------------------------------------------------
Ernest Friedman-Hill
Advanced Software Research          Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
PO Box 969, MS 9012                 [EMAIL PROTECTED]
Livermore, CA 94550                 http://www.jessrules.com

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