On Wednesday, 6 March 2013 at 00:25:30 UTC, Adam Wilson wrote:
My preference would be to completely replace the back-end with LLVM. Why LLVM?
I would _really_ like to see this, personally. I kind of doubt it would happen, but I can dream... Not just for the reasons you listed, but because it would potentially enable the compiler to use LLVM's JIT/interpreter to perform CTFE at much higher speeds. There's been several things I've wanted to do at compile time that I simply could not because CTFE is rather expensive, especially memory-wise, with DMD. Furthermore, it would also allow some other pretty unique features... For instance, Emscripten (https://github.com/kripken/emscripten) could be used to enable people to write JS code in D (which might be a pretty cool bonus for the vibe.d project). There's a few problems with LLVM. Specifically, the last I heard, it doesn't do exceptions very well on Windows (maybe not at all?). However, some of the expertise from this community could be leveraged to provide patches to LLVM to support this better. This probably wouldn't be that big of a deal and it would also help out everyone using LLVM currently.