Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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

About

Summer 2015 Haskell Class

Resources

License

Releases

No releases published

Packages

No packages published