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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4c86cf2332cbe682 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1995-01-24 16:31:50 PST Path: pad-thai.cam.ov.com!bloom-beacon.mit.edu!gatech!udel!news.mathworks.com!panix!cmcl2!thecourier.cims.nyu.edu!thecourier.cims.nyu.edu!nobody From: dewar@cs.nyu.edu (Robert Dewar) Newsgroups: comp.lang.ada Subject: Re: Ada.strings.bounded problems? Date: 24 Jan 1995 14:24:28 -0500 Organization: Courant Institute of Mathematical Sciences Message-ID: <3g3k5c$7bu@gnat.cs.nyu.edu> References: <3f3rl7$kts@watnews1.watson.ibm.com> <3fduto$ta7@watnews1.watson.ibm.com> <3fj8gs$h9b@watnews1.watson.ibm.com> <1995Jan19.124412@lglsun.epfl.ch> <3fmnc1$rns@watnews1.watson.ibm.com> NNTP-Posting-Host: gnat.cs.nyu.edu Date: 1995-01-24T14:24:28-05:00 List-Id: Mats, it is no so easy to forbid the "Goodenough trick". Do you in fact know it? Once you see it, it is a pretty straightforward and fundamental use of basic generic capabilities. In fact part of the reason that Ada 95 allows definition of equality on non-limited types is precisely that it is very hard to forbid it. I do not think the ARG would have managed to forbid it, I certainly don't see how. Second, you misunderstand the shared generic situation. You talk about a compiler warning about a potential loss of capbility for shared generics. That's not the issue. There are at least two existing Ada compilers that ONLY know how to make shared generics, and a pragmatic design point was to be consistent with this approach. It is one thing to warn of potential loss of shared generic capbility (I guess that happens in your model for ALL generics with type parameters, since there might be an equality???) and quite another to have to make the painful choice of rejecting such generics, or implementing them very inefficiently. You may come to a different conclusion on this particular issue than the one we reached by consensus, but I certainly won't be very convinced by your thoughts till it is clear that you understand the issues on both sides. It is easy to take a broad brush view of things without hearing all the details (sort of like all the people who "know" whether O.J.Simpson is guilty or innocent without having heard the evidence :-) Try the excercise if you like of stating a clean rule that forbids the "goodenough trick", and does not take away other useful functionality. After all if we take away useful functionality, your twin brother will be complaining about that! :-) If you are not familiar with this technique, I think you really ought to be before you make pronouncements on it. If you are familiar, I am interested to know what restrictive rule you have in mind.