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:1f51:: with SMTP id f78-v6mr5470100iof.51.1529943696694; Mon, 25 Jun 2018 09:21:36 -0700 (PDT) X-Received: by 2002:a9d:6218:: with SMTP id g24-v6mr10897otj.4.1529943696553; Mon, 25 Jun 2018 09:21:36 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!feeder4.usenet.farm!feed.usenet.farm!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!u78-v6no4075949itb.0!news-out.google.com!p13-v6ni1141itf.0!nntp.google.com!u78-v6no4075944itb.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Mon, 25 Jun 2018 09:21:36 -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: Subject: Re: Ada Successor Language From: "Dan'l Miller" Injection-Date: Mon, 25 Jun 2018 16:21:36 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:53306 Date: 2018-06-25T09:21:36-07:00 List-Id: 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: >=20 > >> Ada could allow T'Class for untagged T. T'Class would be an indefinite > >> type with values consisting of the actual type's tag and its value. Wh= en > >> 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. > >=20 > > It was a requirement of Ada95 that OOP be strictly contained, and that > > the same typing system as Ada83 be kept for those who don't want OOP. >=20 > Don't want OO, don't declare T'Class objects. Where is a problem? The problem is that you just proposed 'Class for non-OO semantics. Your pr= oposal violates the Principal of Least Surprise.