Tutorial

Introduction to Haskell

Adam Turoff, Consultant

Track: Programming
Date: Tuesday, July 25
Time: 8:30am - 12:00pm
Location: Portland 252

In their book, The Pragmatic Programmer, Andy Hunt and Dave Thomas recommend professional programmers learn a new programming language every year, as a means to gain new skills and perspectives. Haskell is an excellent "language of the year," because its pure functional style encourages a different way of looking at common programming problems.

Haskell is a very powerful language with a reputation of making hard things easy, and is used today in open source projects like pugs, an implementation of Perl 6, and darcs, a distributed revision control system. Because it encourages bottom-up design and composition of larger systems from small generic parts, Haskell makes it easy to build complex systems that are easy to understand and suprisingly easy to modify.

Because Haskell is such a powerful language, ideas and techniques from it are leaking into more mainstream languages like Perl and Python, and it is also influencing on the design of Perl 6. Learning Haskell now can help you become a stronger programmer, regardless of your chosen programming language.

Topics covered in this tutorial include:

  • A brief overview of functional programming
  • Benefits to Strong Typing
  • How to subvert the type system
  • Monads, and how to use them
  • Type Classes
  • Parsing with Haskell, using Parsec
  • Haskell idioms applied to Perl, Python, and Ruby programs