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