ACCU Conference 2008, Day 2

One of the tracks at this conference has been on functional programming and today’s sessions covered FP in general and more specifically, Erlang and Haskell. Every conference has a special track, in the past there has been template programming in C++, C# and .Net programming, or open source software. The special tracks often are on subjects which are not mainstream at present. But if they are well attended, it’s usually an indication that they may be in the next couple of years. And the FP sessions were very well attended (I spent a couple sitting on the floor) so expect to see more of these languages in the future.

The Erlang session, by Joe Armstrong, covered the origins of Erlang in the telecoms industry. The industry needed a system that was very robust (99.9999999% was claimed), could be updated while running and was fully concurrent. Erlang was the result. Interestingly, it creates and manages it’s own processes, allowing process creation to be very fast and cheap. Each process is a service and the system uses message passing between the services to provide robustness. This also provides scalability over multiple servers/CPUs and very robust error handling and recovery. Joe is the inventor of Erlang and knows his subject inside out. One of the more interesting bits of information was how Erlang allows an application to easily scale over multicore processors and as multicore becomes more common, then Erlang could become the language of choice for developing applications in the future. Most applications today only know how to work with single core CPUs and once we move to having hundreds of cores in a processor, much of the CPU could be wasted.

The Haskell session from Simon Peyton-Jones was so full that every available spot was occupied. Simon gave an excellent talk, spread over two sessions, on the basics of Haskell, and walked us through some of the implementation details of XMonad, an X server window manager, written in about 500 lines of Haskell code. Personally, it’s not easy to get my head around the programming style of Haskell (it reminds me a bit of Prolog for some reason) but the ability of Haskell to enforce programming without side effects (another session was devoted to this subject) was in itself very interesting. As far as I can see, it still an academic language, but many of the ideas behind it are sure to find themselves into mainstream programming.

Sessions on a similar subject that I didn’t manage to attend, were on adding FP to imperative languages, and a discussion of why FP matters.and Saturday has sessions on “Is FP for me?” and one on Lisp.

The evening was spent in a bangers’n'mash place in Oxford, which served, obviously, sausage and various styles of mashed potato.

Leave a Reply