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=0.7 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!attcan!uunet!husc6!rutgers!gatech!gitpyr!tynor From: tynor@pyr.gatech.EDU (Steve Tynor) Newsgroups: comp.lang.ada Subject: Re: Ada language revision Message-ID: <6843@pyr.gatech.EDU> Date: 23 Nov 88 19:41:03 GMT References: <44449@beno.seismo.CSS.GOV> <3563@hubcap.UUCP> <7882@nsc.nsc.com> <739@marvin.cme-durer.ARPA> <7796@aw.sei.cmu.edu> Reply-To: tynor@pyr.UUCP (Steve Tynor) Organization: Georgia Institute of Technology List-Id: In article <7796@aw.sei.cmu.edu> dd@sei.cmu.edu (Dennis Doubleday) writes: > >In article <739@marvin.cme-durer.ARPA> leake@cme-durer.ARPA (Stephe Leake) writes: >>In article <7882@nsc.nsc.com> rfg@nsc.nsc.com (Ron Guilmette) writes >>> then why shouldn't we be able to declare such types in the public part of >>> a package and then defer the full declaration until the package body? >>What would this gain? Do you have any specific examples where this >portability. The declaration of a limited private type is an >IMPLEMENTATION decision. It doesn't belong in the specification, it >belongs in the body. If I'm trying to export some abstract data type Here, here. I think the Modula 2 compromise of requiring 'opaque' types to be pointers is adequate. This way there is enough information supplied in the specification for code generation in client packages, but the implementation details are not broadcast. Sure, the code may be slightly less efficient (since you're forced to use a pointer), but I've rarely run into a situation where I've wanted to create an ADT where a pointer (ok, ok, 'access type') wasn't the natural representation anyway... =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Progress means replacing something wrong with something more subtly wrong. Steve Tynor Georgia Tech Research Institute tynor@gitpyr.gatech.edu