comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: generic parameter Copy for primitifs types.
Date: Fri, 24 Jun 2005 16:53:54 +0200
Date: 2005-06-24T16:53:57+02:00	[thread overview]
Message-ID: <1rjzmqwb7teen.6jbixg07vhn5.dlg@40tude.net> (raw)
In-Reply-To: mailman.89.1119613561.17633.comp.lang.ada@ada-france.org

On Fri, 24 Jun 2005 12:45:19 +0100, Marius Amado Alves wrote:

> On 24 Jun 2005, at 08:28, Dmitry A. Kazakov wrote:
>>> The best solution is to set ":=" by default but it
>>> is not possible...
>>
>> True. You can try generic "specialization" like this:
>> ...
>> generic
>>    type T_Item is private;
>> package Specialized_Toto is
>>    procedure Copy (Left : out T_Item; Right : T_Item);
>>    package Toto_Instance is new Toto (T_Item, Copy);
>> end Specialized_Toto;
>> ...
> 
> True. But then the use is not uniform. A different generic package must 
> be selected for each case:
> 
> package Default_Pkg is new Specialized_Toto (T);
> package Special_Pkg is new Toto (T, Special_Copy);
> 
> The idiom I have posted earlier does not have this problem. But, 
> granted, may have others instead, e.g. requiring two instantiations 
> instead of one for each case.
> 
> All this would go away if packages were first class citizens of Ada, 
> i.e. objects. This is one thing I'm trying to do with Ocpotus 
> (softdevelcoop.org/ocpotus).

Or

- if true package specialization were available;

- if generic types were ADT (you could have generic formal types of your
own);

- if assignment were a primitive operation (discriminants/constraints
problem is solvable, IMO);

- etc.

Packages as objects is a fundamental question I believe. A potential danger
is that when packages become objects any difference between "type" and
"package" might disappear. The result would be a type system close to C++.
But we know that C++ has immense problems in the elaboration model, or
better to say with absence of any model. Is it curable? I can't tell. If
Robert Dewar were here, he would probably shed more light on the mechanics.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de



  reply	other threads:[~2005-06-24 14:53 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-23 16:41 generic parameter Copy for primitifs types nblanpain
2005-06-23 17:47 ` Marc A. Criley
2005-06-23 17:54 ` Dmitry A. Kazakov
2005-06-23 19:41   ` nblanpain
2005-06-23 23:44     ` Marius Amado Alves
2005-06-28 10:30       ` Matthew Heaney
2005-06-28 11:21         ` Marius Amado Alves
2005-06-24  7:28     ` Dmitry A. Kazakov
2005-06-24 11:45       ` Marius Amado Alves
2005-06-24 14:53         ` Dmitry A. Kazakov [this message]
2005-06-24 15:11           ` Marius Amado Alves
2005-06-25 15:05           ` Martin Krischik
2005-06-23 18:30 ` Björn Persson
2005-06-23 19:39   ` nblanpain
2005-06-23 19:52     ` Marc A. Criley
2005-06-24  3:10 ` Jeffrey Carter
2005-06-27  4:28 ` Christoph Grein
replies disabled

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