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,1888e8caa20a2f2d X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newshub.sdsu.edu!elnk-nf2-pas!newsfeed.earthlink.net!stamper.news.pas.earthlink.net!newsread3.news.pas.earthlink.net.POSTED!a6202946!not-for-mail From: "Jeffrey R. Carter" Organization: jrcarter at acm dot org User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Controlled types and exception safety References: <8sKdnXNeIZMxIg3eRVn-ig@comcast.com> <3trncoj4t0va.19bs46zhm4xbe.dlg@40tude.net> <2Rklf.171$n1.114@newsread2.news.pas.earthlink.net> <6z9mf.1704$Tg2.1265@newsread1.news.pas.earthlink.net> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Sat, 10 Dec 2005 07:53:53 GMT NNTP-Posting-Host: 67.3.219.37 X-Complaints-To: abuse@earthlink.net X-Trace: newsread3.news.pas.earthlink.net 1134201233 67.3.219.37 (Fri, 09 Dec 2005 23:53:53 PST) NNTP-Posting-Date: Fri, 09 Dec 2005 23:53:53 PST Xref: g2news1.google.com comp.lang.ada:6809 Date: 2005-12-10T07:53:53+00:00 List-Id: Randy Brukardt wrote: > Probably true. I guess my point is that this can't really be done, because > any way to make it work would be so complex so as to be impossible to get > right or understand. And such complexity usually leads to making it too hard > to use for the user of it as well. Quite possibly. I agree that it gets more complex the deeper you get into it, and that's usually A Bad Thing. But complex and impossible are 2 different things. I have a better understanding of the objections to this approach now. Thanks for that. > Gee, I've done my best to forget that Ada 83 existed. We're on the second > (or third, depending on how you count) major update since then. I've always thought Ada 83 was a pretty good language, but did have things that needed improvement. I've already mentioned finalization; better low-level/bit-twiddling abilities and tightening the generic contract model are a couple of other obvious things. Anyway, the discussion we've just finished having only makes sense to me as being about changes to Ada 83 other than those that Ada 95 made; alternatives to the Ada-95 way. Talking about them as changes to Ada 95 is meaningless; Ada 95 choose a different path. So, talking about finalizing components during assignment is meaningless, since Ada 83 didn't have finalization, and we haven't defined what, if any, form of finalization occurs in this alternative revision we were discussing. > Limited private types that aren't limited in the full view are, for most > purposes, the same as non-limited types. Indeed, they're arguably a mistake > in the language (types that change limitedness are a continuing headache > with the semantics of Ada). What's interesting is the types that are > position-dependent, or are "really limited" -- these should never be copied, > even inside of their full definition. I've always found it very important for a package to be able to control what a client can do with its abstraction, and making the public view limited is a useful tool for achieving that. -- Jeff Carter "I like it when the support group complains that they have insufficient data on mean time to repair bugs in Ada software." Robert I. Eachus 91