comp.lang.ada
 help / color / mirror / Atom feed
From: "Nick Roberts" <Nick.Roberts@dial.pipex.com>
Subject: Re: Dynamic binding of packages
Date: 1997/05/08
Date: 1997-05-08T00:00:00+00:00	[thread overview]
Message-ID: <01bc5bf3$675f2340$LocalHost@xhv46.dial.pipex.com> (raw)
In-Reply-To: 336FDF8B.73AF@sprintmail.com




John G. Volan <johnvolan@sprintmail.com> wrote in article
<336FDF8B.73AF@sprintmail.com> a lengthy example of using a tagged type to
provide multiple implementations of a single interface.

The use of tagged types ('classes' in C++ and most other languages) in this
way is well known, and your example illustrates the principle nicely. In
many situations, this approach works fine, and often has further
advantages, too.

However - and I am going to ask you to trust me on this (unless you really
want me post a truly humungous example ;-) - for certain real-life
situations, it is just too clumsy, because the binding - the connection
between interface and implementation - is centred around a type rather than
a package.

This type-centred abstraction means that all abstract elements of the
interface has to be in terms of subprograms with that type as its parameter
(or one of its parameters). So, one loses the direct use of all the many
other language elements Ada allows in a package specification. This is not
a fundamental problem, it is just a problem of convenience. But, the
inconvenience is sometimes so great as to constitute a barrier.

So, I would still argue that (perhaps in a future revision) the Ada
language needs a standard mechanism for the dynamic binding of packages.

Nick.





  parent reply	other threads:[~1997-05-08  0:00 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-04-29  0:00 newbie Q: storage management Kaz Kylheku
1997-04-30  0:00 ` Samuel A. Mize
1997-04-30  0:00   ` Jon S Anthony
1997-05-02  0:00     ` Samuel A. Mize
1997-05-02  0:00       ` Jon S Anthony
1997-05-03  0:00       ` Robert Dewar
1997-05-03  0:00         ` Jon S Anthony
1997-05-04  0:00           ` Robert Dewar
1997-05-05  0:00         ` Samuel A. Mize
1997-05-03  0:00       ` Robert Dewar
1997-05-05  0:00         ` Samuel A. Mize
1997-05-06  0:00           ` Michael F Brenner
1997-05-06  0:00             ` Assuaging sour grapes :-) [was: newbie Q: storage management] John G. Volan
1997-05-07  0:00               ` Kevin Cline
1997-05-07  0:00                 ` John G. Volan
1997-05-07  0:00                   ` John G. Volan
1997-05-07  0:00                     ` Robert Dewar
1997-05-08  0:00                   ` Jon S Anthony
1997-05-08  0:00                 ` Jon S Anthony
1997-05-07  0:00               ` Stephen Posey
1997-05-08  0:00               ` Nick Roberts [this message]
1997-05-08  0:00                 ` Dynamic binding of packages John G. Volan
1997-05-07  0:00             ` newbie Q: storage management Robert Dewar
1997-05-09  0:00               ` Robert I. Eachus
1997-05-10  0:00                 ` Robert Dewar
1997-05-07  0:00             ` Jeff Carter
1997-05-06  0:00           ` Robert Dewar
1997-05-06  0:00             ` Robert A Duff
1997-05-08  0:00               ` Jon S Anthony
1997-05-08  0:00                 ` John G. Volan
1997-05-09  0:00                   ` Jon S Anthony
1997-05-09  0:00                     ` John G. Volan
1997-05-13  0:00                       ` Jon S Anthony
1997-05-13  0:00                         ` Robert Dewar
1997-05-09  0:00                 ` Robert Dewar
1997-05-13  0:00                   ` Jon S Anthony
1997-05-09  0:00                 ` Robert A Duff
1997-05-09  0:00                   ` Jon S Anthony
1997-05-10  0:00                     ` Robert A Duff
1997-05-12  0:00                       ` Jon S Anthony
1997-05-09  0:00                   ` Brian Rogoff
1997-05-10  0:00                     ` Robert A Duff
1997-05-10  0:00                   ` Robert Dewar
1997-05-04  0:00       ` Kevin Cline
1997-05-04  0:00         ` Robert Dewar
1997-04-30  0:00   ` kaz
1997-05-02  0:00   ` Samuel A. Mize
1997-05-04  0:00     ` Robert Dewar
1997-04-30  0:00 ` Jon S Anthony
1997-05-02  0:00   ` Robert Dewar
1997-05-04  0:00     ` Kaz Kylheku
1997-05-04  0:00       ` Robert Dewar
1997-04-30  0:00 ` Marinus van der Lugt
1997-04-30  0:00   ` Jon S Anthony
1997-05-02  0:00     ` Robert Dewar
1997-04-30  0:00 ` Robert I. Eachus
1997-05-02  0:00 ` Nick Roberts
1997-05-03  0:00   ` Robert Dewar
replies disabled

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