January 19, 2010 in Research | Comments (0)
Tags: Haskell, Pola
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.
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 ...
December 31, 2009 in Personal | Comments (0)
Tags: conference, Haskell, holiday, Jasna, SOGS, writing

I still have a few minutes before 2010 so I thought I’d write a little something while Jasna and I are sitting on the couch watching celebrations on TV with her parents.
Well, first off I think I need to take more pictures, the evidence for that being that the above is my favourite picture I took this year. It’s our fattest cat, Pincho.
(more…)
I still have a few minutes before 2010 so I thought I'd write a little something while Jasna and I are sitting on the couch watching celebrations on TV with her parents.
Well, first off I think I need to take more pictures, the evidence for that being that the above is my favourite picture ...
September 17, 2009 in Research | Comments (0)
Tags: Haskell, Pola, rants
I recently rewrote the build system for Pola from ant to GNU make. Keeping things in ant was getting to be too much work, trying to be proper and writing tasks (in Java) rather than just using the shell. I was initially a little worried about how much work it would be to redo the build system, but I was pleasantly reminded by how simple it is. It took probably about a quarter the amount of time to rewrite the entire build system from scratch in make than it would have taken to do a little incremental change to the ant system. As a bonus I managed to clean up the project a lot, reducing the build system down to just two files of a combined 70 lines. (more…)
I recently rewrote the build system for Pola from ant to GNU make. Keeping things in ant was getting to be too much work, trying to be proper and writing tasks (in Java) rather than just using the shell. I was initially a little worried about how much work it would be to redo ...
June 15, 2009 in Research | Comments (3)
Tags: algebra, Haskell, Pola
First, some exciting news that I’ve added the Pola project as my first project. There is a Subversion repository for it as well. We’ve been talking about getting a site set up around Pola, with examples and user’s guides and maybe some interactive features, so this is a very small first step towards that.
Code-wise, what I’ve been working on lately is finally trying to do bounds inference properly in the implementation. The bounds inference still isn’t entirely done and what’s there still isn’t working entirely perfectly, but it is excitingly close! Type in any well-typed function which relies only on inductive data types and it will give you polynomial bound on the running time! Coinductive data types will come soon.
In an effort to making my “boring” research blog more interesting, I’ve now even got a screenshot! Is code any more exciting when it’s in screenshot form?
The biggest problem I’ve had so far is writing my own Polynomial data type in Haskell. I don’t even need anything fancy: I need addition, subtraction and multiplication of polynomials over arbitrary variables. Sadly I haven’t found anything suitable and had to build my own. I’m a little out of my depth here: it would be a pretty big understatement to say that I’m ignorant when it comes to computer algebra. It’s a virtual certainty that I’m doing my data representations and arithmetic operations in the least efficient way possible. But I can’t worry too much about; this isn’t really what my research is about.
If I find time today I think I’ll go through some computer algebra systems to find one which has a suitably free licence and has a reasonable Foreign Function Interface (so that I can use it painlessly from Haskell). Does such a thing exist?
First, some exciting news that I've added the Pola project as my first project. There is a Subversion repository for it as well. We've been talking about getting a site set up around Pola, with examples and user's guides and maybe some interactive features, so this is a very small first step towards that.
Code-wise, ...