The problem is that cabal-install isn't included in Ubuntu's package manager, so it would require manually installing cabal-install. The maintainers are pretty conservative when it comes to adding more steps to the server setup because it makes things more complicated and also makes it harder for others to set up their own instances. If you write up some very explicit steps and maybe even provide a patch for the setup script, they might be willing to include it. I was going to do this, but I never worked up the motivation to push it hard enough.

There are a couple alternatives. One is to just include the libraries you need with your bot. I have done this in past contests. It was awkward, but could be made to work. As for the other alternative that I'm going to be trying this time, I think I'd rather explain it on IRC.

Does the server even have the haskell-platform Ubuntu package installed? I just tried uploading my entry and it doesn't find the Control.Monad.State module. Submitting a Haskell entry using only the few basic libraries that come with GHC would be quite a pain.

+1 for vector. I've spent so much time learning to use these mutable vectors and rewriting my bot, finally got it satisfactory, but it won't compile on the server because the vector library isn't there. I'm distressed!!

Any more explicit advice about how to bundle the library and its dependencies up with my own code would be appreciated.

For haskell libraries not on the server, is it possible to include the source of your dependent libraries with your submission, and have them compiled along with your Bot-specific code? Contemplating a language change to Haskell, but I'm unsure of what libraries I'll have access to. How can I found out?

I investigated the option of packaging the library code with my bot, but for the vector library, this didn't look very promising, because it involves some C code. So, I gave up on Haskell for the time being and switched to C. Hoping to get my head around the kinds of purely functional algorithms that can do this kind of task, but it will take some time.