Xref: utzoo comp.lang.c:9697 comp.lang.c++:1041 Path: utzoo!yunexus!geac!daveb From: daveb@geac.UUCP (David Collier-Brown) Newsgroups: comp.lang.c,comp.lang.c++ Subject: C-- (was Re: Re^3: gotos) Summary: We need a specialized non-subset language! Keywords: C--, optimization, low-level language, portable assembler. Message-ID: <2665@geac.UUCP> Date: 27 Apr 88 14:47:34 GMT Article-I.D.: geac.2665 Posted: Wed Apr 27 10:47:34 1988 References: <2586@geac.UUCP> <3950003@hplvly.HP.COM> <1988Apr24.004842.3251@utzoo.uucp> <2606@ttrdc.UUCP> Reply-To: daveb@geac.UUCP (David Collier-Brown) Followup-To: comp.lang.c Organization: The Geac Code-Generation Department. Lines: 51 In article <1988Apr24.004842.3251@utzoo.uucp>, henry@utzoo.uucp (Henry Spencer) writes: | Remember that there are two separate issues here: what you write, and the | code the compiler generates for it. With modern compilers, the two are | often quite different. In article <2606@ttrdc.UUCP> levy@ttrdc.UUCP (Daniel R. Levy) writes: | This may be highly undesireable in a language used for programming operating | systems, where the programmer needs something approaching WYSIWYG capability. | C is eminently such a language. Well, C is probably the best current choice for that language (I learned on FORTRAN II: now **there's** a WYSIWYG language). Regrettably, C is a high-level language, and certain optimizations are perfectly reasonable if one is a human writing non-special code in it. They are less reasonable if you are generating C from a higher-level language, and much less so if you are writing device drivers. This dichotomy has been discussed before (but I forget who to cite! mea culpa). Therefor I raise the question: Do we need C--? C-- is WYSIWYG C, and is explicitly intended for the following purposes: 1) writing critical machine-specific functions, 2) as a target of source-to-source transformers (including certain classes of optimizers), 3) as a target for VHLLs, including C++, database embedded-SQL processors, ML and Ada(tm). I'm working with people using I-SQL, and want to implement an ML: I need predictable behavior, but can live with some forms of optimization (notably code motions, constant folding and the like). In fact, I could handle any (correctness preserving!) source-to-source transformation so long as I could ask for the generated output to read. What say others? --dave (ah, if only I had my 1130/1800 back) c-b -- David Collier-Brown. {mnetor yunexus utgpu}!geac!daveb Geac Computers International Inc., | Computer Science loses its 350 Steelcase Road,Markham, Ontario, | memory (if not its mind) CANADA, L3R 1B3 (416) 475-0525 x3279 | every 6 months.