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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,f93e461e8491e322 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news4.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newscon02.news.prodigy.net!prodigy.net!newsfeed-00.mathworks.com!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada Subject: Re: Limited_Controlled, orthogonality and related issues Date: Fri, 19 Jan 2007 15:17:04 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <1xayd4jh8w33a.1meq1440lgi4v.dlg@40tude.net> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls4.std.com 1169237825 945 192.74.137.71 (19 Jan 2007 20:17:05 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Fri, 19 Jan 2007 20:17:05 +0000 (UTC) User-Agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.3 (irix) Cancel-Lock: sha1:GNoW5t91L2dFVn2ngbM8PihEyUA= Xref: g2news2.google.com comp.lang.ada:8345 Date: 2007-01-19T15:17:04-05:00 List-Id: "Dmitry A. Kazakov" writes: > On Fri, 19 Jan 2007 11:36:57 -0500, Robert A Duff wrote: > >> "Dmitry A. Kazakov" writes: >> >>> On Fri, 19 Jan 2007 10:29:35 -0500, Robert A Duff wrote: >>> >>>> Make all types tagged. For efficiency, this would require a different >>>> run-time model than what Ada compilers currently do -- you don't want >>>> to store a tag field with every Boolean variable! To enable the >>>> non-stored-tag model, eliminate the rule that all tagged parameter >>>> are aliased (and allow "aliased" keyword). >>>> >>>> None of the above are likely to happen, I suspect. >>> >>> Even if we, all the Ada community, really wanted it? >> >> The Ada community wants compatibility with older versions of the >> language. What I described above is not compatible. > > I don't directly see what and why. I meant that if all types are tagged, then we should remove the "tagged" keyword from the language (obviously incompatible) and eliminate the "all tagged parameters are aliased" rule (incompatible). Oh, by the way, eliminate "tagged types are pass-by-ref" (incompatible). > We could make all types "tagged" with non-stored tags. The keyword "tagged" > would mean a stored tag + by-reference semantics. This looks fully backward > compatible to me, at first glance. OK, that might work. I don't see anything fundamentally wrong with it "at first glance". ;-) I suppose abstract subprograms would cause minor troubles... Perhaps you should push for this in Ada 2015 or 2025. ;-) > As for legacy exceptions, we should choose a model first. Is End_Error a > type (derived from Root_Exception) or a value of Root_Exception? End_Error should be a type (in this fantasy version of Ada). - Bob