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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,29e947df2e56cc40 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-07-29 17:51:20 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newspeer1-gui.server.ntli.net!ntli.net!newsfep3-gui.server.ntli.net.POSTED!53ab2750!not-for-mail From: "chris.danx" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1b) Gecko/20020721 X-Accept-Language: en-gb, en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: What's it's name again? References: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Inktomi-Trace: pc3-bbrg1-2-cust234.ren.cable.ntl.com 1027990279 6232 80.5.140.234 (30 Jul 2002 00:51:19 GMT) Message-ID: Date: Tue, 30 Jul 2002 01:50:42 +0100 NNTP-Posting-Host: 80.3.128.5 X-Complaints-To: abuse@ntlworld.com X-Trace: newsfep3-gui.server.ntli.net 1027990280 80.3.128.5 (Tue, 30 Jul 2002 01:51:20 BST) NNTP-Posting-Date: Tue, 30 Jul 2002 01:51:20 BST Organization: ntl News Service Xref: archiver1.google.com comp.lang.ada:27466 Date: 2002-07-30T01:50:42+01:00 List-Id: Robert A Duff wrote: > "chris.danx" writes: > > That's not quite legal. I think you mean a private type completed by an > access type, where the access type points to an incomplete type > completed in the body. [snip] I must have misunderstood the code in the course. > I call R an "stt incomplete type", and I call T an "stt access type", > named after Tucker Taft (initials "stt"), who invented them around 1982 > or so, just before Ada 83 was standardized. Jean Ichbiah called them > "Taft Amendment Types". :) [snip loads of useful info] > The whole model here depends on the idea that the compiler can look at > the specs of all with'ed packages (including private parts), but not > their bodies. Pragma Inline breaks that model, which IMHO makes the > whole model suspect. Thanks for that Bob, I understand the issues a bit better now! The interest in this came from a discussion about coupling & encapsulation - it got me thinking about how much information given away to developers in the package spec. If incomplete types are used, virtually no information is given to the client developer, but for "normal" types the representation of the type is there for the any developer to see. Maybe giving such information leads *some* developers to make assumptions about the representation, which may not hold throughout the packages lifetime. Since the types are private, it's not a big deal - what information could the developer rely on? they're private after all! Sometimes I'd just like to be able to say "don't worry about how it works, just know that it does and satisfies these requirments, and don't peek!". :) > - Bob Chris p.s. I'm not critising Ada :) -- to reply by personal email change 'spamoff' to 'chris'