Given your reservation regarding LLVM, you may be interested in vmgen, developed and used as a part of gforth. It is also claimed that a JVM built with vmgen had performance comparable to state of the art JITs. If I remember the author of both gforth (including vmgen) and the experimantal JVM, is Anton Ertl. Personally I have never used it, and do not know how good it is, so I am not trying to push it. However, what little I do know about it seems to address your concerns with LLVM:
LLVM is indeed interesting, but has several drawbacks: - written in C++ (we don't have experience in interfacing Haskell and C++)
vmgen is C AFAIK
- has been used with imperative languages yet, no experience available on using it for FP.
Forth is not a functional language by a long shot, but forth code does tend to have a functional flavour. (if you squint hard enough :) )
- rather large system
The whole of gforth is not that big, and vmgen is just a part of that.
- and finally, I have to admit: a bit of Not Invented Here One of our goals was indeed to have a Haskell-only code generator, which has the advantage that it is easier to install, use and distribute.
Yes, there is that. Anyway as I said, I do not know how much mileage you could get out of it, but it seemed to be worth mentioning, given what you said about LLVM. cheers Daniel
Regards, Martin _______________________________________________ Haskell mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell
_______________________________________________ Haskell mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell
