LambdaVM failure

January 19, 2010 in Research | Comments (0)

Tags: ,

The LambdaVM pro­ject is actu­ally a really bril­liant pro­ject. It’s a modi­fic­a­tion of GHC to tar­get the JVM. I installed it in Octo­ber of last year and played around with it, feel­ing that it might actu­ally have a place in help­ing spread the gos­pel of Pola.

The thing is I can’t expect people to down­load the source to Pola if they want to play around with it, so I have to provide pre-​​compiled bin­ar­ies. OS X, Win­dows and Sol­aris are easy for me to pro­duce bin­ar­ies for, but then you have to think about Linux, BSD, OpenSol­aris, 64-​​bit Win­dows, etc., on vari­ous plat­forms. Tra­di­tion­ally I have about 6 or 7 bin­ar­ies up there for the most pop­u­lar archi­tec­tures — past releases have been most pop­u­lar with x86 Debian and x86 Win­dows — but every time I make a new release I have to rebuild them all.

So I was hop­ing to have a JVM ver­sion of Pola to put up there as a catch-​​all for archi­tec­tures I hadn’t had a chance to build for yet. While the LambdaVM pro­ject has treated me fant­ast­ic­ally well for little toy examples, it doesn’t do well for Pola. I tried it and it crashed after about 2 minutes after run­ning out of heap space. The stack trace showed it was still doing type inference…after two minutes…some­thing which Pola nat­ively com­piled does in less than a hun­dredth of a second.

I’m sure if I fiddled around with it I could get it sort of work­ing, but it doesn’t seem like a good use of my time, espe­cially since the end res­ult will be huge — the JAR file is 18MB, com­pared to 2MB for an uncom­pressed bin­ary — and many orders of mag­nitude slower and since I still have hopes of gradu­at­ing soon.

Still, the LambdaVM pro­ject is pretty awe­some. I hope it ends up kick­ing some ass.


Leave a Reply

You can use these XHTML tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>