comp.lang.ada
 help / color / mirror / Atom feed
From: "Ehud Lamm" <mslamm@mscc.huji.ac.il>
Subject: Re: Multiple Interface Inheritance (was Re: JGNAT and ObjectAdaand...)
Date: Mon, 25 Dec 2000 10:06:28 +0200
Date: 2000-12-25T10:06:28+02:00	[thread overview]
Message-ID: <926vah$iu4$1@news.huji.ac.il> (raw)
In-Reply-To: Pine.BSF.4.21.0012241221330.24815-100000@shell5.ba.best.com


Brian Rogoff <bpr@shell5.ba.best.com> wrote in message
news:Pine.BSF.4.21.0012241221330.24815-100000@shell5.ba.best.com...
> On Wed, 20 Dec 2000, Tucker Taft wrote:
> > It was not responding for a while, but it seems better now.
> > I was able to find out that it is AI 251 (it badly needs an
> > example, but otherwise is pretty complete).
> >
> > Here is a direct link to the most recent version of this AI:
> >
> >
http://www.ada-auth.org/cgi-bin-acats/cvsweb.cgi/AIs/AI-00251.DOC?rev=1.3
>
> I've been pondering this a little and while it seems to capture the
desired
> Java functionality I wonder if it is possible to aim higher and get some
of
> the additional power of the old GNU C++ signature feature set, namely the
> ability to get the signature (abstract interface type in the AI
terminology)
> of an existing class (tagged type) and use this anonymous signature. Maybe
> a 'Interface attribute or somesuch corresponding to the sigof of GNU C++.
> As it never made it into a working GNU C++ that I used I can't say much
> about its use in practice but Sather had some similar capabilities.
>

My feeling is that as a porposal for an extension to the existing language,
this seems quite nice (I didn't consider all the details yet, so I don't
want to say anything more definite/interesting).
To really achive the state-of-the-art interface support, I think many many
features in the language should be redesigned, and I think doing this is
unreasonable. These ideas are best left for a new language to implement.
Notice that Ada is not orthogonal when it comes to interfaces: there are
many kinds of Ada abstractions, each with its own kind of interface. (I seem
to remember an MRT document listing some 7 methods of building Ada ADTs).
From where I am standing, the importance of interface/implemention
seperation and the importance of SPECIFYING good interface is so high, that
I'd prefer a lanuage more refined in its OVERALL apporahc to interfaces.
(e.g, supose we have 'Interface. What operations are allowed on this? Are
interface first class? I guess not)

It is quite problematic for a multi-paradigm language like Ada to handle
such issues consistently. For example, just consider all the work about
protected types and inheritance. Both supply interfaces - it is just that
the interaction of these causes so much trouble... (and remember: we still
want to be able to reason about interfaces, with out relying on impl.
details).

All these fascinating topics, IMO, but I think for Ada0X we must be modest.
Ada9X did a wonderful job incorporating inheritance into Ada, and I'd love
to see a solution of this quality to these issues. But even the best
solutions (and the AI does indeed look convincing) still seem to me to be
limited in scope. I am afraid I can't offer something better (or even
somethng that SEEMS better), without proposing a major change in the
language, and this is simply not in the cards...


--
Ehud Lamm   mslamm@mscc.huji.ac.il
http://lambda.weblogs.com  <== The Programming Languages Weblog







  reply	other threads:[~2000-12-25  8:06 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-12-18 22:07 JGNAT and ObjectAda and Thierry&Annick
2000-12-19 12:39 ` Colin Paul Gloster
2000-12-19 15:28 ` Robert Dewar
2000-12-19 16:01   ` Tucker Taft
2000-12-20 16:14     ` Brian Rogoff
2000-12-20 19:55       ` Multiple Interface Inheritance (was Re: JGNAT and ObjectAda and ...) Tucker Taft
2000-12-20 21:35         ` Brian Rogoff
2000-12-20 23:24           ` Multiple Interface Inheritance (was Re: JGNAT and ObjectAda and...) Tucker Taft
2000-12-21  5:34             ` Brian Rogoff
2000-12-24 20:48             ` Brian Rogoff
2000-12-25  8:06               ` Ehud Lamm [this message]
2000-12-25 18:54                 ` Multiple Interface Inheritance (was Re: JGNAT and ObjectAdaand...) Brian Rogoff
2000-12-26  7:18                   ` Ehud Lamm
2001-01-02 21:27                   ` Tucker Taft
2001-01-03 19:15                     ` Brian Rogoff
2000-12-20 20:34       ` JGNAT and ObjectAda and Robert Dewar
2000-12-20 21:24         ` Brian Rogoff
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox