LambdaVM failure
The LambdaVM project is actually a really brilliant project. It’s a modification of GHC to target the JVM. I installed it in October of last year and played around with it, feeling that it might actually have a place in helping spread the gospel of Pola.
The thing is I can’t expect people to download the source to Pola if they want to play around with it, so I have to provide pre-compiled binaries. OS X, Windows and Solaris are easy for me to produce binaries for, but then you have to think about Linux, BSD, OpenSolaris, 64-bit Windows, etc., on various platforms. Traditionally I have about 6 or 7 binaries up there for the most popular architectures — past releases have been most popular with x86 Debian and x86 Windows — but every time I make a new release I have to rebuild them all.
So I was hoping to have a JVM version of Pola to put up there as a catch-all for architectures I hadn’t had a chance to build for yet. While the LambdaVM project has treated me fantastically well for little toy examples, it doesn’t do well for Pola. I tried it and it crashed after about 2 minutes after running out of heap space. The stack trace showed it was still doing type inference…after two minutes…something which Pola natively compiled does in less than a hundredth of a second.
I’m sure if I fiddled around with it I could get it sort of working, but it doesn’t seem like a good use of my time, especially since the end result will be huge — the JAR file is 18MB, compared to 2MB for an uncompressed binary — and many orders of magnitude slower and since I still have hopes of graduating soon.
Still, the LambdaVM project is pretty awesome. I hope it ends up kicking some ass.