Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Summer 2015 Haskell Class

June 29 - September 23, 2015; Chicago, IL

Course slides

  • Lecture 1 on June 29 Introduction ("Why Haskell?") as well as the core ideas behind functional programming -- and why they're important. Initial foray into Haskell coding with ghci and an explanation of function currying.
  • Lecture 2 on July 1. Covered: user-defined data types and motivations for using them, sum and product types, pattern matching.
  • Lab 1 on July 6. Covered: structure of a single-module project, ghc and some basic console I/O.
  • Lecture 3 on July 8. Covered: review of anonymous functions, type unification, and an introduction to Haskell's laziness.
  • Lecture 4 on July 13. Covered: weak head normal form (WHNF) and list functions.
  • Lecture 5 on July 16. Covered: type classes such as Eq, Ord, and Monoid.
  • Lecture 6 on July 20. Covered: higher-kinded types and type classes Functor, Applicative, and Monad.
  • Lecture 7 on July 22. Covered: Reader, Writer monads, Applicative and Monad laws, monad transformers.
  • Lab 2 on August 5. Covered: modules and namespacing, applicative parsing with parsec, a monad-transformer stack (Lisp monad), and sets and maps (Data.Set, Data.Map).
  • Lecture 8 on August 13. Covered: Foldable and Traversable, plus a potpourri of language extensions (including MultiParamTypeClasses and FunctionalDependencies.)
  • Lecture 9 on August 17. Covered: IO, files and Handle, error-handling and the Exception type-class. Also, IORef and MVar.
  • Lecture 10 on September 9. Covered: Lenses! (Also, Prisms and Traversals, very briefly.)

Lecture videos


Summer 2015 Haskell Class







No releases published


No packages published