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,79e55eadd97001c2 X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Compiler error messages Date: 1998/01/23 Message-ID: #1/1 X-Deja-AN: 318588762 References: <01bd278c$bea48680$9dfc82c1@xhv46.dial.pipex.com> X-Complaints-To: usenet@news.nyu.edu X-Trace: news.nyu.edu 885558690 3281 (None) 128.122.140.58 Organization: New York University Newsgroups: comp.lang.ada Date: 1998-01-23T00:00:00+00:00 List-Id: Some other points that Nick makes <> Let's assume "the manual" means the Ada RM in this case. Indeed many Ada compilers do make RM references. We very deliberately decide in GNAT not to except in a few unusual cases. Our reasoning is that for expert users, this is unlikely to be necessary, since you know the language and you know what is right and wrong. For naive users, going and reading the RM tends to add confusion on top of confusion. Yes, we know all the arguments on both sides of this issue. No need to rehash them. If you want, go to DejaNews, there have been long threads on this issue before. Many people agree with us, some do not. Many people comment that they like the error messages in GNAT (it was certainly for example one of the reasons that the Air Force academy chose GNAT over other competing compilers for teaching Ada). We think this is at least partly a reflection of the fact that we are forced to try to come up with a clear error message without relying on the RM reference for an explanation (that often is inaccesible to beginners). As I say, the interesting thing here is not general discussions but particular examples. Interestingly, when we challenge people who think that RM references are a good thing to come up with specific examples where an RM reference would help, we have got virtually no input (that does not surprise us!) <> Does not seem very useful to me, though it would be useful to program. You can find out how long you spend in each phase of gcc, using the standard gcc option. (read the gcc manual, it has lots of useful stuff!) <> Actually we don't think a section of the manual as such is the right solution here. We have a design for this, it is a program called GNOME (Gnat On-line error Message Explanation). THe idea is to bonk on an error message from your editor or IDE or whatever, and you get a menu pointing to a full explanation of the error, cross linked via huper text to the RM, Rationale, and whatever other useful reference materials are around. Isn't that a nice idea? Unfortunately all we have in place so far is the great name, and since error messages are pretty good in GNAT, it is not something that is on the top of the priority list. Our users don't complain about error messages. In fact we would like them to complain more, or at least send in constructive suggestions. "I know this is wrong, but it seems the error message could have been more helpful" are useful reports for us Robert Dewar Ada Core Technologies