[bitc-dev] Bringup decisions

Sandro Magi smagi at naasking.homeip.net
Fri May 19 08:34:17 EDT 2006


Jonathan S. Shapiro wrote:
> On Fri, 2006-05-19 at 02:57 +0100, David Hopwood wrote:
> 
>> If it were my decision, I would probably have implemented the bootstrap
>> compiler in ML, Scheme or Haskell, generating MLRISC or a Scheme-based IL.
>> Generating C may look like a tempting way to get something working quickly,
>> but it has many deficiencies as an intermediate language.
> 
> Swaroop wanted to do it in Haskell or O'Caml, but I overrode him.
> 
> The problem with using ML, Scheme, or Haskell is that it reduces the
> bootstrap problem to a previously unsolved problem: bringing up an ML,
> Scheme, or Haskell environment for the target. My experience has been
> that even when you are simply going to a new minor variant of UNIX it
> can be non-trivial to bootstrap any of those. We wanted a universal
> assembly language, and I think that we got one.
> 
> We did look at various code generators, notably C-- and LLVM. 

Oops. Disregard my previous LLVM question. :-)

> We didn't
> look at MLRISC, though in hindsight we should have done so.
> Unfortunately *none* of those target all of the platforms that we need
> to target, and C-- and LLVM aren't all that helpful.

Although LLVM has C backend which seems essentially to be the work
you're now duplicating.

Sandro


More information about the bitc-dev mailing list