Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!apple!ames!uakari.primate.wisc.edu!aplcen!ginosko!uunet!algor2.algorists.com!jeffrey From: jeffrey@algor2.algorists.com (Jeffrey Kegler) Newsgroups: comp.std.c Subject: Re: Do non-trivial strictly conforming programs exist? Message-ID: <1989Sep12.171311.19002@algor2.algorists.com> Date: 12 Sep 89 17:13:11 GMT References: <1989Sep8.230612.6629@algor2.algorists.com> <12570025@hpclwjm.HP.COM> <11037@smoke.BRL.MIL> Reply-To: jeffrey@algor2.UUCP (Jeffrey Kegler) Organization: Algorists, Inc. Lines: 43 In article <11037@smoke.BRL.MIL> gwyn@brl.arpa (Doug Gwyn) writes: >In article <12570025@hpclwjm.HP.COM> walter@hpclwjm.HP.COM (Walter Murray) writes: >>But doesn't the dpANS do just that, in Section 1.7? "A conforming >>hosted implementation shall accept any strictly conforming program." > >Hmm, this is trickier than I thought. The only way that the first >sentence of 2.2.4.1 seems to make sense, in view of what you cited >from 1.7, would be that ALL strictly conforming programs must be >ACCEPTED, but only ONE particular program is required to be TRANSLATED >and EXECUTED. I'd been thinking that "acceptance" by a language >translator somehow implied translation and executability or the result, >but no I wonder what IS meant. Dave, help!! The term "accept" has no definition I can find in the standard. I hope we do not resolve this by deciding to define "accept" in a way that an implementation can "accept" a program it does not translate and execute. Essentially you would be saying any sentence which contains the word "accept" was inserted into the standard to occupy space. One such sentence is the one which defines conforming programs. To eliminate the definition of conforming program in order to save the definition of strictly conforming would seem counter-productive. The most reasonable solution that is in accord with the intent of X3J11 as expressed in the Rationale, is to "accept" that 1.7 has a "bug" in it, and was not intended to mean what it clearly says. Looser wording here could make "maximally portable" and "strictly conforming" synonymous. This is not my preferred solution (that would be to tighten up 2.2.4.1) -- in fact it eliminates the (currently quite good) possibility of reading it into the standard. But it seems too late in the game to change the intent of the committee. A standard making a true test suite (one which compiles and executes on all conforming implementations) possible, and providing a standard of portability that gives it more than "a fighting chance" (Rationale 1.7) seems not to be in our stars. -- Jeffrey Kegler, Independent UNIX Consultant, Algorists, Inc. jeffrey@algor2.ALGORISTS.COM or uunet!algor2!jeffrey 1762 Wainwright DR, Reston VA 22090