RTL/tree (from gcc) and Scheme

Bradley Lucier lucier@math.purdue.edu
Wed Aug 13 08:22:00 GMT 2003


On Monday, August 11, 2003, at 12:08  AM, Per Bothner wrote:

> Brad Lucier wrote:
>
>> Per Bothner wrote:
>>> There is a Scheme front-end to GCC. It's called Kawa:
>>> http://www.gnu.org/software/kawa/Compiling-to-executable.html
>>> It uses Java bytecodes as an intermediate (and executable) format.
>> By this logic, couldn't Gambit-C be called a Scheme front-end to GCC
>> (that happens to use C as an intermediate format)?
>
> Absolutely.  My main point was that we don't "need" a new Scheme
> Gcc front-end to compile Scheme using Gcc.

Well, we may need a new Scheme GCC front-end to compile Scheme to more 
efficient code.  There could be several areas where new internal 
support could be helpful:

1.  Generating and using better aliasing information.  (Objects on the 
heap can't alias objects on the stack, etc.)

2.  Having lighter-weight trampolines and better support for tail 
recursion than is available going through C.

3.  Having more efficient support for multiple values, a la the paper 
by Dybvig and someone else.

4.  Using knowledge of type tags internally (i.e., if all fixnums have 
their three lowest bits zeroed, then this knowledge can be used when 
indexing vectors, shifting, etc.)

I'm sure there are others.

In the same vein, I don't think people should have stopped developing 
C++ compilers after cfront came out.

Brad



More information about the Gcc mailing list