From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: buffer2.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!1.eu.feeder.erje.net!news.etla.org!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada design bug or GNAT bug? Date: Tue, 23 Jun 2015 16:38:50 +0200 Organization: cbb software GmbH Message-ID: <1f6dpcxmxly1a$.zfhetu1wgtix$.dlg@40tude.net> References: <4lrj5zz2u2z.u8x9cf7xzic6.dlg@40tude.net> <58f64fa9-7d0b-44dd-870c-77d9afcb82c4@googlegroups.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: enOx0b+nfqkc2k+TNpOejg.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: number.nntp.giganews.com comp.lang.ada:193738 Date: 2015-06-23T16:38:50+02:00 List-Id: On Tue, 23 Jun 2015 06:06:13 -0700 (PDT), vincent.diemunsch@gmail.com wrote: > I regard the refusal to create a "class type", like Ichbiah wanted it, > just like we have a protected type and a task type, as the root of evil. Ada's was is the only consistent way. > 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. > 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? (Access types appeared for having the Rosen's trick and working around missing proper constructors and destructors.) -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de