slides from lecture 1
slides from lectures 2 and 3
slides from lecture 4
slides from lecture 5
slides from lecture 6
A gentle introduction to Haskell
The essence of functional programming
slides from lecture 7
slides from lecture 8
code directory from lecture 8
Homework Assignment 4, code file: hw4.hs
slides from lecture 9
slides from lecture 10
code directory from lecture 10
slides from lecture 11
homework 3 solution
hw5.hs -- the freeVars code in this file is not as sharp as it should be.
Here is a modified version with better code for freeVars: hw5'.hs
Functional Programming with Overloading and Higher-Order Polymorphism
slides from lecture 12
Monad Transformers and Modular Interpreters
A Poor Man's Concurrency Monad, corrected code file from class.
Scrap Your Boilerplate
hw6.hs
Monadic Parser Combinators, code directory here
Parsec: Direct Style Monadic Parser Combinators for the Real World
Homework 7: part 1, part 2, online parser
Arrows, Robots, and Functional Reactive Programming
Programming with Arrows
Code directory for arrows lectures here.
Functional Reactive Programming, Continued
The Yampa Arcade
Code directory for Yampa Arcade here. Tarball of directory here.
Code directory for Yampa Arcade with falling gun here. Tarball of directory here.
Test file for homework 6 grading is here.