C-- News for May, 2001
Here is the C-- news as of May, 2001.
(There is old news from last year
We still don't have a working compiler that implements the
full Version 2 specification. Essentially, our status is
that a great deal of interesting stuff has been going on, but
nothing is actually finished.
- We are planning a C-- workshop at Harvard for late July
or mid-August. The two topics of discussion will be types
and C-- and support for concurrency.
- All the developers have been at work on a new language
specification, to be called version 2.0. The new manual is
not quite ready as we have been working on the
- Norman Ramsey and Simon Peyton Jones have put toegether a
concurrency proposal . There are substantial points of interest in the proposal,
but many problems remain, especially problems of stack
overflow and pre-emption.
- Daniel Damian has worked on using type-directed partial
evaluation to specialize analyses and optimizations used in
the compiler. Our hope is that the specialized code will
enable us to use an machine-dependent representation of
instructions within the compiler. We expect this will
substantially reduce time and space costs. The technique
should also have interesting applications to other problems,
e.g., proof-carrying code.
- Lee Feigenbaum has done some preliminary work on
automatically deriving a code generator from a machine
description. We hope to complete this work and use the code
generators in the Quick C-- compiler.
- Christian Lindig has pushed forward the development of
Quick C--, including translation to intermediate code,
flow-graph representations for optimization, liveness
analysis, and register allocation.
- Norman Ramsey is working on a version of BURG for
Objective Caml. We will use this tool to implement both Lee
Feigenbaum's code generators and any code generators we might
write by hand.
- Fermin Reig has been adapting the Objective Caml front
end to a restricted version of C-- (cmmc, which is
built on top of MLRISC). He has got working code!
- Sergei Egorov: trampolining C--. Sergei has
built an implementation of C-- by compiling C-- to C and
using a trampoline. It is basically a proof-of-concept
implementation that demonstrates a popular method of
compiling tail-recursive procedures to portable C.
- Jon Eddy will be spending the summer looking at two
problems related to C--: first, how to recognize and identify
machine instructions efficiently, even in the presence of
interesting optimizations. Second: whether some of the C--
`unchecked run-time errors' can in fact be checked at run
time, and if so at what cost.
- John Dias will be working on an `optimization backplane'
for putting together the back end of the Quick C-- compiler.
The idea is to give a clean framework for phase ordering and
other aspects of configuring the compiler.
Contact: C-- Webmaster.
Last edited: Mon 05 Feb 2007 14:02 EST.