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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,2907a68906511623 X-Google-Attributes: gid103376,public From: swhalen@netcom.com (Steve Whalen) Subject: Re: Idea for Ada 200x: Arguments that are procedures Date: 1998/07/03 Message-ID: #1/1 X-Deja-AN: 368487753 Sender: swhalen@netcom14.netcom.com References: <6nh9f0$66i@netline.jpl.nasa.gov> Organization: ? Newsgroups: comp.lang.ada Date: 1998-07-03T00:00:00+00:00 List-Id: Brian Rogoff (bpr@shell5.ba.best.com) wrote: : I think you would agree with Robert Duff, who floated the limited access : type for procedure parameters a while ago, in : http://sw-eng.falls-church.va.us/AdaIC/standards/95lsn/LSN1083.GeneralAccess : as I pointed out in my reply to Van Snyder. If you really want to go : digging, I've appended a post from Norman Cohen on this topic; you can use : the thread title to trace the entire thread under DejaNews. Thanks for the additional background. I hadn't read the LSN1083 note you referenced at the time I posted. Interesting history of this "feature". Also interesting is the thread you attached, especially the note that this is the only thing that keeps Ada95 from being a proper superset of Pascal! I guess that's one reason that Ada95's lack of downward closures feels so "wrong" to me. : I think more than one implementation uses displays, and there is also the : issue of problems caused in implementations with shared generics. : FWIW, I started out with your view (omission of downward closures was an : egregious mistake) and ended up agreeing that it was the only right thing : to do for Ada *95*. However, I have wanted this in code I write and I : think the workarounds are really clumsy and impair readability. I'd rather : that generics were never shared, if the interaction of the two features : is problematic! I agree completely. Either dump shared generics (because *I* don't often/ever? need them ) or add another piece of programmer control syntax to "limited" (maybe "limited controlled?") That way the programmer can "promise" the compiler that the procedure pointer REALLY won't be abused/confused and permit downward closure of procedure pointers. The code that is needed to work around this "feature" is just TOO UGLY! It seriously detracts from Ada95's "elegance" and a main reason for Ada's existance (if I wanted unreadable, difficult to maintain code, I use C++ ). Steve -- {===--------------------------------------------------------------===} Steve Whalen swhalen@netcom.com {===--------------------------------------------------------------===}