Haskell & Clojure
Details
"An introduction to Haskell types" by Finlay Thompson
The Haskell language has a strong type system, which can be a bit confusing to start with. I will introduce the concepts such as 'values', 'types', and 'kinds'. Haskell uses a 'class' system to support code reuse, similar to interfaces, but not quite the same, which can be a bit of a gotcha coming from object oriented languages. Finally, I will sneak a bit of logic in to describe the Curry–Howard correspondence, and why it is cool!
"Compiling with Monads in Clojure" by Stephen Nelson (Montoux)
Montoux builds applications for the insurance industry using Clojure, which is a lisp derivative hosted on the JVM. An important part of our infrastructure is our DSL parser/compiler which is based on the Haskell Parsec monad. The Clojure language doesn't have types at all, so working with monads presents some interesting challenges. I'll talk about some work we've done in the last year to optimise our compiler using Clojure language features and profiling tools, with a bit of a high level overview of Clojure and parsing technologies along the way.
