Tečaj počinje uvođenjem osnovnih funkcijskih programskih koncepata, no brzo prelazi na korištenje Haskella za rješavanje jednostavnijih praktičnih problema te završava s nekoliko složenijih primjena funkcijskog programiranja, kao što su parsanje, rad s bazama podataka, programiranje za web te izgradnja grafičkoga korisničkog sučelja.