Frank Schönheit - Sun Microsystems Germany wrote:
Hi Stephan,

I know, I know.

Thinking once again about it, a cheap peace offering

uh, sorry for the rant then - it wasn't intended as declaration of war :)

No problem.  I did not really interpret it as such, either.

could be the
introduction of an "extensible" keyword for interfaces and the concept of interface ownership:

- You must not implement objects that have an extensible interface unless you are the owner of that interface (that implies that you must not introduce service or singleton specifications that implement that interface, either

again unless you're the owner, right?

Yes.

).

- You cannot inherit other interfaces from an extensible interface.

except other extensible interfaces?

No (see below for rationale).

- The owner of an extensible interface can add members to its end (inherited interfaces, methods, attributes).

Why at the end only? Do we gain something with this restriction, and do
we gain it in *all* language bindings, or would some bindings "break"
regardless of it?

The C++ language binding would not (without modifications I would not dare to think about) be able to handle anything else (incl. inheriting from extensible interfaces). So this sketch of a proposal is written from the perspective of "how can we modify existing interfaces without the current C++ language binding breaking down when mixing clients compiled against old interface versions with producers built against new interface versions." (All other languages should be more flexible here, so that I assume no extra problems for other language bindings.)

Not completely thought through, but should probably work. How does that sound?

Like a great first step towards a living API, which is fun to design,
without feeling blocked unnecessarily.

Come on, the real fun is creatively pressing new functionality into existing, rigid API. :)

-Stephan

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to