summer-2015-haskell-class
summer-2015-haskell-class copied to clipboard
Summer 2015 Haskell Class
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
ghciand 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,
ghcand 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,Writermonads,ApplicativeandMonadlaws, monad transformers. - Lab 2 on August 5. Covered: modules and namespacing, applicative parsing with
parsec, a monad-transformer stack (Lispmonad), and sets and maps (Data.Set,Data.Map). - Lecture 8 on August 13. Covered:
FoldableandTraversable, plus a potpourri of language extensions (includingMultiParamTypeClassesandFunctionalDependencies.) - Lecture 9 on August 17. Covered: IO, files and
Handle, error-handling and theExceptiontype-class. Also,IORefandMVar. - Lecture 10 on September 9. Covered: Lenses! (Also, Prisms and Traversals, very briefly.)