Had so much fun at the fist ever Haskell eXchange. Hosted by Skills Matter in a quite gorgeous crypt (not as creepy as it sounds).
So let me tell you all about it. Well first off, there was breakfast and a welcome from Neil Mitchell, but unfortunately I completely missed that bit, because I failed to get out of bed.
Front-End Language Features, Simon Peyton Jones
Next up came Simon Peyton Jones, utterly warm, charming and energetic. During the course of just one talk he somehow managed to convey what Haskell was about, give an idea of how the language developed, and also what's being worked on for the future, all whilst keeping everyone laughing.
For me the loveliest part of this was to find out about the things for the future, because they seem genuinely useful, and because it's nice that Haskell, even at it's relatively grand old age, is continuing to be a play ground for ideas about how to make this thing called programming even better.
High Performance Concurrency, Simon Marlow
Simon Marlow told us all about his async package. Not only was this a useful a practical guide to a package that would probably come in handy for all of us (it already has for me), but also a really great example of how a really well thought through libraries can help developers, and really give a language power.
Making EDSLS Fly, Lennart Augustsson
Okay, I admit, I didn't pay good enough attention to this one, as I was playing on my phone. Lennart Augustsson showed us an example of a DSL language implemented in Haskell, that is compiled to code that runs on a VM (specifically the LLVM), so that it can run super fast. I recommend watching it for yourself.
Scalable Web Applications with Yesod, Blake Rain
In this talk Blake Rain took us through a fairly comprehensive whirlwind tour of the Yesod web framework. If you're thinking you'd like to build a website in Haskell I'd definitely recommend watching it.
I couldn't help but think during the talk however, that maybe Yesod is trying to do too much including; webserver, templating for css, html, and javascript, stuff for chatting to sql, composable server-side widgets. It feels like a tighter focus might be more natural.
Also Yesod achieves all this with an awful lot of template Haskell magic, so that you can write some html, in a similar way to the way you write normal html, only the amazing Haskell compiler is checking through everything you do. Now I love the idea of getting the Haskell compiler to help me with this stuff, but the template Haskell stuff is a bit scary, because it's quite confusing, and I guess one of the things I love about Haskell is its transparent and concrete nature. Apart from this I worry about what would happen if your website miraculously makes some cash, and you can hire a front-end dev, they're not going to be too keen to work with all this stuff - it might be technically scalable but maybe not so organisationally scalable.
Having criticised Yesod's approach, however, I think that they're up to some really interesting stuff, and Blake did a fantastic job of covering an awful lot of content.
Cloud Haskell, Duncan Coutts
Here Duncan Coutts told us all about the Cloud Haskell implementation that he's been working on. Cloud Haskell is a library that brings cool Erlang distributed stuff to Haskell. It looks like super fun to play with, now to think of an excuse!
Integrating Haskell using AMQP, Rob Harrop
Here Rob Harrop offered a practical solution to all those Haskell lovers who can see how Haskell could be so useful at work, but don't feel able to use it. He took us through an example where he carved off a piece of important functionality from a Ruby Sinatra app, and implemented it in a Haskell server. He then stuck the two together with the sticky-tape of message queues, specifically RabbitMQ. Also, for good measure he threw a node.js middle man into the mix, but that was to show us it was possible, rather than because it was needed.
For me the demonstration was very useful, as the technologies at my work match up well with the ones he was using, but apart from that it was quite joyous to see a representation of the varied and polyglot world that development is, and how different languages can all get along together.
Aided by a break for beer and pizza, the park bench was a fun occasion. I was struck by the openness of everyone involved, people genuinely encouraged others to get up on the bench too - this sort of generosity was especially lovely coming from people like Simon Peyton Jones. Topics were varied, including talk of whether if Haskell had it's time over again it would be lazy. Some discussions centered on how support for Haskell can transition more from it's traditional academic community, to a wider community of developers.
Then we all went to the pub.
It was a lovely day, and I think my favourite conference yet. The line-up was just amazing, sessions were useful and informative, and the feeling was friendly, and open. It feels like Haskell is all grown up and ready for the real world now!