I gave a talk a couple days ago at the Functional Programming eXchange event organised by Skills Matter in London.

Strong Types and Pure Functions

Slides Video

It was an interesting event. We had about 50 people attend, mostly professional programmers with day jobs doing development on the JVM and .NET platforms. Sadek Drobi gave the opening talk about computational abstraction, by which he meant monadic glue code. He explained why we want it and showed examples in C#, Scala and F#. I hadn't realised that the C# LINQ stuff is actually general monad syntax. It was fun to see Sadek telling all these professional programmers that what they really want are functors, applicative functors and monads.

I gave a talk in the afternoon about some of the things you can do if you go all the way with FP and use a purely functional language (rather than a hybrid). I explained a technique for making interfaces where you use types to enforce which side effects are allowed. Of course this means making custom monads so it was good that Sadek had introduced that topic in the morning. The feedback I got was that this was one of the more technically advanced talks, but I think that was ok since it wasn't essential to understand every last detail to get the point.

Overall I think it went quite well, especially given it was the first time the event has been put on. I expect that other members of the Haskell community might like to take part in future (Ganesh Sittampalam and Matthew Sackman also spoke this time). Also, Skills Matter are planning to do an FP journal/magazine aimed at mainstream professional programmers. Hopefully that'll be another good way to get our message out. Get in touch with me or Robert Pickering if you're interested in either the conference or the journal.