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,74b55538385b7366 X-Google-Attributes: gid103376,public From: Keith Thompson Subject: Re: Ada safety road Was: Which is right ... Date: 1999/06/08 Message-ID: #1/1 X-Deja-AN: 487285545 References: <928083159.436.79@news.remarQ.com> <928174549.336.98@news.remarQ.com> <7iuqkc$ln6$1@nnrp1.deja.com> <928529202.956.79@news.remarQ.com> <928569312.951.42@news.remarQ.com> <7jb1l9$694$1@nnrp1.deja.com> <928703068.617.98@news.remarQ.com> <1999Jun6.181633.1@eisner> X-Complaints-To: usenet@nusku.cts.com X-Trace: nusku.cts.com 928886476 29538 198.68.168.21 (9 Jun 1999 00:01:16 GMT) Organization: CTS Network Services NNTP-Posting-Date: 9 Jun 1999 00:01:16 GMT Newsgroups: comp.lang.ada Date: 1999-06-09T00:01:16+00:00 List-Id: Robert A Duff writes: [...] > There are few enough erroneous cases in Ada, that it would have been > reasonable to spell it out in a long phrase every time. Something like, > "If , the program is incorrect. The > implementation is not required to detect this error, neither at compile > time nor at run time. If this error occurs, execution is totally > unpredictable." And then put some verbiage in chapter 1 about how awful > "totally unpredictable" really is. The folks over in comp.std.c have a good term term for this: "nasal demons". This originated when someone observed that when the compiler encounters a construct with undefined behavior, it is legal for it to make demons fly out of your nose. See also the entry for "nasal demons" in The Jargon File and/or _The New Hacker's Dictionary_. Note that there's no implication that the compiler is *required* to make demons fly out of your nose. It's important to remember that one possible consequence of undefined behavior (or erroneous execution) is for the implementation to silently do exactly what you naively expected it to do. This is often the nastiest possibility, since any problems may not show up until years later. This is why the authors of Ada (both 83 and 95) made such an effort to minimize the number of cases where this can happen, and to clearly document the cases that couldn't reasonably be avoided. -- Keith Thompson (The_Other_Keith) kst@cts.com San Diego Supercomputer Center <*> One of the great tragedies of ancient history is that Helen of Troy lived before the invention of the champagne bottle.