phipps@fortune.UUCP (Clay Phipps) (07/12/84)
A two level standard seems like a good idea, and there are many precedents for it: ANS FORTRAN & FORTRAN 77: "Full" and "Subset" languages. FIPS (a government designation) COBOL: "Low", "Intermediate", "High" levels. ANS PL/I: [whatever "full PL/I" is called] and "General Subset PL/I". ISO Pascal: Levels 0 and 1 (1 is essentially level 0 + "conformant arrays"). Ada: no subsetting allowed by DoD AJPO, but one has been repeatedly suggested from numerous quarters. I agree that without some specific reason to improve on six-character external names, some compiler people and management will either not bother at all, or devise some cast-in-concrete inadequate improvement. Have you ever tried to convince management with a "just meet the spec, we're in a hurry" attitude to let you expend the effort to do something better than a standard calls for ? I have (not here, btw); it's frustrating. It really helps to be able to point to a standard of some kind. Consider the marketing advantage in being able to advertise your C compiler as being "full C" instead of your competitor's "subset C". Similarly, there could be a procurement advantage that allows you to buy a better compiler that is more expensive than "low bid". This seems to be a really big deal with COBOL compilers, and could be with C. -- Clay Phipps -- { amd hplabs!hpda sri-unix ucbvax!amd } !fortune!phipps { ihnp4 cbosgd decvax!decwrl!amd harpo allegra}
henry@utzoo.UUCP (Henry Spencer) (07/13/84)
> A two level standard seems like a good idea, > and there are many precedents for it... The current ANSI C draft contains a short appendix of "recognized extensions". Among them are things like the labelled-common model of multiple external definitions, since the defines-uses model is the only one that can be implemented on most non-Unix systems. I don't know whether long external names are mentioned, but it would certainly seem appropriate. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry