comp.lang.ada
 help / color / mirror / Atom feed
From: Vincent <vincent.diemunsch@gmail.com>
Subject: Re: Ada design bug or GNAT bug?
Date: Tue, 23 Jun 2015 09:57:43 -0700 (PDT)
Date: 2015-06-23T09:57:43-07:00	[thread overview]
Message-ID: <667dce55-6a08-430b-bbe2-367e26a41e4e@googlegroups.com> (raw)
In-Reply-To: <1f6dpcxmxly1a$.zfhetu1wgtix$.dlg@40tude.net>

Le mardi 23 juin 2015 16:38:43 UTC+2, Dmitry A. Kazakov a écrit :
 > > For the OOP concept is based on an interface that is the same and
> > instances that are different realizations of the same concept.
> 
> This is an inconsistent concept if taken literally. OOP never talk about
> types being same. It does about same *behavior*. This is miles over miles
> different. T and T'Class behave as if they were same in some contexts, but
> they are not same from any point of view. Remember that class is a set of
> types. A set is never equal to its instances. T'Class is a closure of
> class. Closure of a set is not equal to an element of the set.

A would rather call a set of types a category [of types], like Integers or
dicrete types. A class type is an accessor to a category consisting of a given type and all types derived from it.

 
> > One may think that the distinction between class type and tagged type is
> > subtle, but the implications of it are huge : without class object one
> > needs as replacement access to a class wide type.
> 
> Why?
> 

Because one need a concrete object ! With generics you can have a formal type because it will be instantiated during the early phase of compilation, but with OOP the code is generated before one knows the type of the object that will be called at runtime. Strictly speaking this is not possible. The only possible solution is to use a unique object as an accessor for all possible objects. The simplest way was to use an access to a class wide type. But Ada 83 limited the use of access types to pool specific types...

Regards,

Vincent



  reply	other threads:[~2015-06-23 16:57 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-20 18:55 Ada design bug or GNAT bug? Dmitry A. Kazakov
2015-06-21  2:42 ` Randy Brukardt
2015-06-21  6:47   ` Dmitry A. Kazakov
2015-06-22 17:39     ` Randy Brukardt
2015-06-22 18:16       ` Dmitry A. Kazakov
2015-06-23 11:00         ` G.B.
2015-06-23 14:27           ` Dmitry A. Kazakov
2015-06-23 11:45         ` G.B.
2015-06-23 14:30           ` Dmitry A. Kazakov
2015-07-02 22:22         ` Randy Brukardt
2015-07-03  8:02           ` Dmitry A. Kazakov
2015-07-03 17:33             ` Randy Brukardt
2015-07-03 21:34               ` Dmitry A. Kazakov
2015-07-04  3:11                 ` Randy Brukardt
2015-07-04 12:14                   ` Dmitry A. Kazakov
2015-07-05  0:53                     ` Randy Brukardt
2015-06-22 18:27       ` Shark8
2015-06-23 11:51         ` vincent.diemunsch
2015-06-23 19:55           ` Shark8
2015-06-23 13:06         ` vincent.diemunsch
2015-06-23 14:30           ` David Botton
2015-06-23 15:57             ` Niklas Holsti
2015-06-23 16:01               ` G.B.
2015-06-23 18:05               ` David Botton
2015-06-23 19:38               ` David Botton
2015-06-23 14:38           ` Dmitry A. Kazakov
2015-06-23 16:57             ` Vincent [this message]
2015-06-23 17:15               ` Dmitry A. Kazakov
2015-06-23 19:14                 ` vincent.diemunsch
2015-06-23 19:33                   ` Dmitry A. Kazakov
2015-06-23 17:42           ` Jeffrey R. Carter
2015-07-02 22:06           ` Randy Brukardt
2015-07-04  1:52             ` Shark8
2015-07-04  3:24               ` Randy Brukardt
2015-07-04 11:02                 ` Build-in-place semantics? (Was: Ada design bug or GNAT bug?) Jacob Sparre Andersen
2015-07-04 12:15                   ` Dmitry A. Kazakov
2015-07-05  0:45                     ` Randy Brukardt
2015-07-05  7:10                       ` Dmitry A. Kazakov
2015-07-05  0:40                   ` Randy Brukardt
2015-07-04 14:05                 ` Ada design bug or GNAT bug? Bob Duff
2015-07-04  7:46               ` Simon Wright
2015-07-04 12:00                 ` Björn Lundin
2015-07-05  0:48                   ` Randy Brukardt
2015-07-06 12:37             ` Vincent
2015-07-06 20:05               ` Randy Brukardt
2015-07-07  8:06               ` Dmitry A. Kazakov
replies disabled

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