CPSC 429/529: Functional Programming
Instructor:
Carsten Schürmann
Department of Computer Science
Yale University
Time: MWF 9:30-10:30
Room: AKW200
Home
Schedule
Handouts
Assignments
Projects
Links
Schedule
Lecture 1 :
Overview.
Lecture 2 :
Axioms and Inference rules.
Lecture 3 :
Introduction to Haskell 1.
Lecture 4 :
Introduction to Haskell 2.
Lecture 5 :
Functions.
Lecture 6 :
Recursion and Type preservation.
Lecture 7 :
Datatypes.
Lecture 8 :
Datatype cont'd.
Lecture 9 :
Polymorphism.
Lecture 10 :
Hindley Milner Type Systems.
Lecture 11 :
Pattern Matching and Unification.
Lecture 12 :
Programming with State.
Lecture 13 :
Recitation.
Lecture 14 :
Lazy Datastructures and Coinduction.
Lecture 15 : No lecture.
Lecture 16 :
Coinduction.
Lecture 17 :
Functional Data Structures.
Lecture 18 :
Continuations.
Lecture 19 :
Regular acceptors.
Lecture 20 :
An introduction to Monads.
Lecture 21 :
Some easy Monads.
Lecture 22 :
Cancelled.
Lecture 23 :
Exploiting Laziness.
Lecture 24 :
Monad Laws.
Lecture 25 :
State Monad.
Lecture 26 :
Cominator Parsing.
Lecture 27 :
Combinator Parsing cont'd.
Lecture 28 :
Module systems.
Lecture 29 :
Midterm.
Lecture 30 : Recitation
Lecture 31 : Yampa Part 1.
Lecture 32 : Type Classes.
Lecture 33 : Module Systems.
Lecture 34 : Yampa Part 2.
Lecture 35 : Polytypic Programming.
Lecture 36 : ML with references.
Lecture 37 : Recitation.
Lecture 38 : Modules.
Lecture 39 : Pan.