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=2.1 required=5.0 tests=BAYES_05,INVALID_DATE, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!watmath!clyde!att!ulysses!hector!dsr From: dsr@hector.UUCP (David S. Rosenblum) Newsgroups: comp.lang.ada Subject: Re: Collective response to := messages Message-ID: <10918@ulysses.homer.nj.att.com> Date: 1 Dec 88 15:16:13 GMT References: <10913@ulysses.homer.nj.att.com> <3702@hubcap.UUCP> Sender: netnews@ulysses.homer.nj.att.com Reply-To: dsr@hector.UUCP (David S. Rosenblum) Organization: AT&T Bell Laboratories, Murray Hill, NJ List-Id: In article <3702@hubcap.UUCP> wtwolfe@hubcap.clemson.edu writes: >>From article <10913@ulysses.homer.nj.att.com>, by dsr@hector.UUCP (David S. Rosenblum): > > The LCD example is not mine, and I'll leave it to the author of the > example to make whatever counterpoints are appropriate. But with regard > to the point concerning enforcement of type checking, I'd like to point > out that the example you gave was one in which you did NOT define an ADT; > all you did was define a local record type. I constructed the example that way for clarity. The arguments are just as valid if I make the type private in some package. The declared objects would still be undefined, and the assignment of 0.0 would still leave a component undefined. Your suggestion of implementing ADTs as access types gets around the problems I mentioned with parameter passing, but allowing overloading of assignment then requires a great deal of faith (misguided in my view) in the programmer to implement his or her ADTs in such a safe manner. I guess you could argue that many other language features have a similarly implicit faith in the sanity of the programmer. > Another point: the ADT-handling package > could leave the denominator as an undefined integer if it jolly well > felt like it, as long as it met the requirements imposed by the package > specification. I don't see how that would constitute any violation of > type checking. The ADT-handling package may feel like leaving a component undefined, but Ada doesn't feel like leaving variables undefined after an assignment. That's why such a user-defined assignment violates Ada's strong typing. ------------------------------------------------------------------- David Rosenblum UUCP: {ucbvax, decvax}!ulysses!dsr AT&T Bell Laboratories ARPA: dsr@ulysses.att.com 600 Mountain Ave. dsr%ulysses@att.arpa Murray Hill, NJ 07974-2070 (201) 582-2906 -------------------------------------------------------------------