[bitc-dev] C--- and LLVM
Aleksi Nurmi
aleksi.nurmi at helsinki.fi
Thu Mar 11 08:51:31 PST 2010
2010/3/11 Jonathan S. Shapiro <shap at eros-os.org>:
> Just went back to see what the state of C-- is these days. Regrettably it
> seems like something we shouldn't use, for two reasons:
>
> 1. The discussion list is nearly idle.
> 2. The only current implemenation relies on ML, which seems like a bad
> dependency for us.
>
> LLVM, by contrast, is alive, well, and implemented in an unsafe language. Oh
> well.
>
> shap
I found some interesting pages from the GHC wiki:
- The LLVM backend actually uses a modified version of LLVM. [1]
- Their new codegen still uses Cmm.[2] I guess that Cmm is considered
a somewhat stable intermediate language due to the number of backends
they have.
[1] http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/Backends/LLVM/Issues
[2] http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/NewCodeGenPipeline
Now that I think of it, is there a compelling reason not to use GHC
for native code compilation? It is stable and in active development.
They have a high-end garbage collector tuned for functional programs
and a C backend. Many recent languages such as Agda actually target
Haskell. GHC is big, but it's good and implemented in a safe language.
More information about the bitc-dev
mailing list