From: Dmitry A. Kazakov <mailbox@dmitry-kazakov.de>
Subject: Re: Imitation is the sincerest form of flattery
Date: Fri, 21 Mar 2003 09:44:35 +0100
Date: 2003-03-21T09:44:35+01:00 [thread overview]
Message-ID: <vqil7v81l8p8ocbv2ke9ectl8l33rr3gs8@4ax.com> (raw)
In-Reply-To: 4dkea.75440$gi1.38045@nwrdny02.gnilink.net
On Thu, 20 Mar 2003 14:27:12 GMT, "Frank J. Lhota"
<NOSPAM.lhota.adarose@verizon.net> wrote:
>"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> wrote in message
>news:p2vi7vs64p33mpnbsfsn43cvh72l44tm95@4ax.com...
>> To inherit the type interface. For example, an array type implemented
>> by a record type:
>>
>> -- This is not Ada!
>> type Unbounded_String is
>> private array (Integer range <>) of Character;
>>
>> private
>> type Unbounded_String is record
>> ...
>> end record;
>> -- Definition of implemented abstract array opeartions follows
>
>I'm a little unclear about what you're asking for here. In your envisioned
>vision of Ada, what does this code do?
A private implementation of an array type. If the language have had
full ADT there would be no need predefined Unbounded_String. Or
consider the following:
type Sparse_Matrix is
private array (Integer range <>; Integer <>) of Element;
It has an array interface, but internally it is also a record type
using a list to keep the array elements.
>How would it differ from doing
>something like this:
>
> -- This is Ada!
> type Unbounded_String ( First, Last : Integer ) is private;
>
>private
> type Unbounded_String is record
> ...
> end record;
The above isn't an array. You cannot use it where an array is
expected. It has no 'First, 'Last, no slices etc.
-----
The problem with ADT in Ada is that technically there is only two (*)
type interfaces you can inherit from (implement privately):
type ... is private;
type ... is limited private;
At the same time Ada's set of built-in interfaces is far more richer:
type ... is access ...;
type ... is delta ...;
type ... is mod ...;
type ... is array ...;
type ... is record ...;
protected type ...;
task type ...;
etc.
In my view to fully support ADT would mean that any of such type
interfaces would be available for private implementation.
-----
(*) I intentionally omit type ... is tagged ..., because I believe
that *all* types have to be tagged.
---
Regards,
Dmitry Kazakov
www.dmitry-kazakov.de
next prev parent reply other threads:[~2003-03-21 8:44 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-14 17:22 Imitation is the sincerest form of flattery Robert C. Leif
2003-03-14 17:57 ` Warren W. Gay VE3WWG
2003-03-14 18:16 ` chris.danx
2003-03-14 18:17 ` Hyman Rosen
2003-03-15 14:18 ` Georg Bauhaus
2003-03-16 1:06 ` Hyman Rosen
2003-03-18 10:37 ` Georg Bauhaus
2003-03-18 15:34 ` Dmitry A. Kazakov
2003-03-19 11:12 ` Georg Bauhaus
2003-03-20 8:42 ` Dmitry A. Kazakov
2003-03-20 14:27 ` Frank J. Lhota
2003-03-21 8:44 ` Dmitry A. Kazakov [this message]
2003-03-21 17:16 ` Pascal Obry
2003-03-22 9:05 ` Dmitry A. Kazakov
2003-03-22 14:11 ` Pascal Obry
2003-03-22 23:12 ` AG
2003-03-23 9:01 ` Dmitry A. Kazakov
2003-03-23 8:51 ` Dmitry A. Kazakov
2003-03-24 16:52 ` Hyman Rosen
2003-03-24 18:10 ` Dmitry A. Kazakov
2003-03-24 18:33 ` Hyman Rosen
2003-03-25 5:04 ` Amir Yantimirov
2003-03-25 19:55 ` Dmitry A. Kazakov
2003-03-25 20:22 ` Hyman Rosen
2003-03-26 13:02 ` Dmitry A. Kazakov
2003-03-26 15:06 ` Hyman Rosen
2003-03-26 16:21 ` Dmitry A. Kazakov
2003-03-26 17:00 ` Hyman Rosen
2003-03-26 18:21 ` Bill Findlay
2003-03-26 18:40 ` Hyman Rosen
2003-03-22 10:01 ` Amir Yantimirov
2003-03-23 8:41 ` Dmitry A. Kazakov
2003-03-24 4:53 ` Amir Yantimirov
2003-03-24 18:10 ` Dmitry A. Kazakov
2003-03-25 5:48 ` Amir Yantimirov
2003-03-25 15:53 ` Frank J. Lhota
2003-03-25 16:44 ` Robert A Duff
2003-03-25 18:24 ` Frank J. Lhota
2003-03-25 20:06 ` Dmitry A. Kazakov
2003-03-27 19:45 ` Frank J. Lhota
2003-03-27 21:25 ` Pascal Obry
2003-03-28 13:34 ` Dmitry A. Kazakov
2003-04-01 14:38 ` Frank J. Lhota
2003-04-02 7:37 ` Dmitry A. Kazakov
2003-03-26 7:48 ` Amir Yantimirov
2003-03-26 13:35 ` Dmitry A. Kazakov
2003-03-26 7:32 ` Amir Yantimirov
2003-03-20 23:28 ` Matthew Heaney
2003-03-21 8:49 ` Dmitry A. Kazakov
2003-03-21 21:07 ` Georg Bauhaus
2003-03-22 9:04 ` Dmitry A. Kazakov
2003-03-22 10:05 ` AG
2003-03-22 15:25 ` Georg Bauhaus
2003-03-22 19:27 ` AG
2003-03-22 21:45 ` Vinzent Hoefler
2003-03-22 22:28 ` AG
2003-03-23 23:47 ` Robert A Duff
2003-03-28 16:34 ` Georg Bauhaus
2003-03-18 15:58 ` Hyman Rosen
2003-03-19 11:05 ` Georg Bauhaus
2003-03-23 11:31 ` Florian Weimer
2003-03-23 23:39 ` Hyman Rosen
2003-03-15 12:52 ` Florian Weimer
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox