C-- (was Re: Re^3: gotos)

David Collier-Brown daveb at geac.UUCP
Thu Apr 28 00:47:34 AEST 1988


In article <1988Apr24.004842.3251 at utzoo.uucp>, henry at 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 at ttrdc.UUCP> levy at 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.



More information about the Comp.lang.c mailing list