June 29 - September 10, 2015; Chicago, IL
- 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
, andMonoid
. - Lecture 6 on July 20. Covered: higher-kinded types and type classes
Functor
,Applicative
, andMonad
. - Lecture 7 on July 22. Covered:
Reader
,Writer
monads,Applicative
andMonad
laws, monad transformers.