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,b47b15fda2aeb0b2 X-Google-Attributes: gid103376,public From: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: Two ideas for the next Ada Standard Date: 1996/09/04 Message-ID: #1/1 X-Deja-AN: 178463220 references: <50aao3$3r88@news-s01.ny.us.ibm.net> <322B5BB0.422E@joy.ericsson.se> <50gelc$2le@goanna.cs.rmit.edu.au> organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1996-09-04T00:00:00+00:00 List-Id: Bob Duff said "One choice is to write a function that takes Longest_Integer, or whatever, but then you have a bunch of bogus type conversions at all the call sites. These type conversions are just extra verbiage in my opinion. A type conversion ought to tell the reader "I'm going outside the type system, doing something questionable, read this carefully." But if you have a lot of "harmless" type conversions, it weaken the effect -- it's like crying wolf. " Sure there are a *few* examples of such functions, but very few. Even the one you give is bordering on the bogus to me, since it seems at too low a level. My opininion is that allowing integer'Class or somesuch would weaken the typing in practice, and is undesirable. For the record note that the design team *did* (very much) want to add such a feature, but WG9 rejected the proposal. There were two arguments against it, one was that it added confusion and complexity, the other was that it weakened the typing model. I cannot say which of these two issues was the more important in the thinking of the various delegations at the time of the Villars meeting where this decision was made. Still I find that in the Ada programs I write, there are very few typ3e conversions around, so i cannot get excited about the problem. Of course I certainly do NOT go writing junk type declarations all around the place :-)