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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a6b:5d1b:: with SMTP id r27-v6mr584973iob.35.1530021556832; Tue, 26 Jun 2018 06:59:16 -0700 (PDT) X-Received: by 2002:aca:ed52:: with SMTP id l79-v6mr198109oih.4.1530021556663; Tue, 26 Jun 2018 06:59:16 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!feeder4.usenet.farm!feed.usenet.farm!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!u78-v6no771646itb.0!news-out.google.com!p13-v6ni980itf.0!nntp.google.com!u78-v6no771645itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 26 Jun 2018 06:59:16 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=47.185.195.62; posting-account=zwxLlwoAAAChLBU7oraRzNDnqQYkYbpo NNTP-Posting-Host: 47.185.195.62 References: <5e86db65-84b9-4b5b-9aea-427a658b5ae7@googlegroups.com> <878t7u1cfm.fsf@nightsong.com> <776f3645-ed0c-4118-9b4d-21660e3bba4b@googlegroups.com> <87602fbu2g.fsf@nightsong.com> <87po0mziqt.fsf@nightsong.com> <87fu1izfgs.fsf@nightsong.com> <878t75nwad.fsf@adaheads.home> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <15b6f89f-997b-45ac-86b4-2e614bb624c2@googlegroups.com> Subject: Re: Ada Successor Language From: "Dan'l Miller" Injection-Date: Tue, 26 Jun 2018 13:59:16 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:53327 Date: 2018-06-26T06:59:16-07:00 List-Id: On Tuesday, June 26, 2018 at 2:44:26 AM UTC-5, Dmitry A. Kazakov wrote: > On 2018-06-25 18:21, Dan'l Miller wrote: > > On Monday, June 25, 2018 at 10:19:15 AM UTC-5, Dmitry A. Kazakov wrote: > >> On 2018-06-25 16:44, J-P. Rosen wrote: > >>> Le 25/06/2018 =C3=A0 16:21, Dmitry A. Kazakov a =C3=A9crit=C2=A0: > >> > >>>> Ada could allow T'Class for untagged T. T'Class would be an indefini= te > >>>> type with values consisting of the actual type's tag and its value. = When > >>>> T is by-value type, you pass T'Class to a subprogram as tag + value. > >>>> When T is by-reference type, you pass tag + reference. > >>>> > >>>> Upon dispatch, you strip the tag from the value or reference before > >>>> passing value/reference down. > >>> > >>> It was a requirement of Ada95 that OOP be strictly contained, and tha= t > >>> the same typing system as Ada83 be kept for those who don't want OOP. > >> > >> Don't want OO, don't declare T'Class objects. Where is a problem? > >=20 > > The problem is that you just proposed 'Class for non-OO semantics. You= r proposal violates the Principal of Least Surprise. >=20 > Remember, Ada is a strongly typed language, T'Class is not T, there is=20 > no way it could break or change anything in T. Quit putting non sequitur words in my mouth. I never said that it would br= eak anything in T. I said that it would break T'Class in =E2=80=A2some=E2= =80=A2 situations of the untagged extended records, analogous to ways that = are known in C++ as slicing. Ada community wants one of C++'s most-maligne= d problems where the compiler sometimes picks the wrong strong typing? Who= knew?!