I was lucky enough to be able to give a three-hour tutorial on Haskell at the O’Reilly Open Source Convention 2007, in Portland. A huge thank-you to Galois Inc, for making the video happen. View Part 2 here.
Haskell is the world’s leading purely functional programming language that offers a radical and elegant attack on the whole business of writing programs. In the last two or three years there has been an explosion of interest in Haskell, and it is now being used for a bewildering variety of applications.
In this tutorial, I will try to show you why programming in Haskell is such fun, and how it makes you think about programming in a new way.
I’m going to use xmonad as my running example; it’s an X11 window manager written entirely in 500 lines of Haskell. Based on xmonad I will show you how to
- write functional programs
- test them using QuickCheck
- write imperative programs
- call foreign functions
- use Haskell for scripting applications
I won’t assume you know any functional programming at all, but I will assume that you are an experienced professional programmer, so I will move along quite briskly.