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,8f8cea8602e61aba X-Google-Attributes: gid103376,public From: evans@evans.pgh.pa.us (Arthur Evans Jr) Subject: Re: The Red Language Date: 1997/09/11 Message-ID: #1/1 X-Deja-AN: 271763338 References: <340ED5D8.2DEF6D3@ux4.sp.cs.cmu.edu> <199709051335.PAA25952@basement.replay.com> <34102DF5.36D589F1@ux4.sp.cs.cmu.edu> Organization: Ada Consulting Newsgroups: comp.lang.ada Date: 1997-09-11T00:00:00+00:00 List-Id: In article , dewar@merv.cs.nyu.edu (Robert Dewar) wrote: > Just because a language definition says XXX does not make it so, > if the statement is vacuous. Robert: You are missing the point entirely. If a language definition, like Ada, is to be useful in the presence of implementors other than the designer, then of course it's vacuous to imclude specifications that cannot be tested. OTOH, if the only implementor is the designer, and the definition is provided largely for the language's users, then such specs are of interest to the users, and therefor useful. That was the situation in gnal. > Remember that a compiler is always allowed to treat a language definition > "as-if", which means that any generated code that makes a compiler run > the code the same way as some other way is equivalent. Since inlining > has, by definition, no semantic effect, it is obvious that semantic > rules in the language can neither require it nor proscribe it. If inlined code is more time-efficient and the app thereby makes its deadlines but does not otherwise, then there's a semantic effect. The plane flies one way; it crashes the other. > As for "we believed him, why not?", the why not is because the claim was > on its face unsupportable! There are places in this world where folks say things and other folks believe them. The GNAT documentation explains the circumstances in which 'pragma inline' has an effect; I believe what is written. In fact, I could test the claim by examining compiled code; why bother? Art