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!utgpu!watmath!clyde!att!rutgers!mailrus!uflorida!gatech!hubcap!billwolf From: billwolf@hubcap.clemson.edu (William Thomas Wolfe,2847,) Newsgroups: comp.lang.ada Subject: Re: Collective response to := messages Message-ID: <3694@hubcap.UUCP> Date: 29 Nov 88 21:44:00 GMT References: <8811282217.AA04896@ajpo.sei.cmu.edu> Sender: news@hubcap.UUCP Reply-To: billwolf@hubcap.clemson.edu List-Id: >From article <8811282217.AA04896@ajpo.sei.cmu.edu>, by mendal@ANNA.STANFORD.EDU (Geoff Mendal): >> Another reason is that assignment procedures need to be invoked as part >> of the evaluation of a user-defined ADT which is passed by value. No >> similarly vital function is performed by the other operations suggested. > > I don't understand this at all. You are assuming pass by value for an > ADT? Rediculous. The LRM only states that scalars and access values > are passed by copy. In general, for an ADT, you cannot assume pass by > value and if your program depends on it, your program will execute > erroneously. This is precisely the problem. This is what must be fixed. > [Argues that the proposal would mean more work for language designers] > > [Argues that the proposal would mean more work for program provers] > > [Argues that the proposal would mean less work for him, since he > is employed as a writer of preprocessor tools for Ada] Much more money is spent using a programming language such as Ada than is spent designing it. Hence, if we can save the time of 30 million programmers at the expense of the time of 300 language designers, I submit that this is an appropriate tradeoff. What is needed is a completion of the ADT paradigm, support for which is the fundamental reason for the "limited private" feature. Given that one must remember to destroy all non-predefined ADTs upon block exit, it is clear that the implications of this paradigm were not appropriately considered in the Ada 83 design.