Date | Title | Content |
---|---|---|
Feb 19 (21) | 1. Intro | Slides Log |
Feb 26 (28) | 2. Lambda abstraction | Slides Log |
Mar 5 (7) | 3. Higher order functions | SlidesLog |
Mar 12 (14) | 4. Closures and lazy evaluation | SlidesBen Wood's slidesLog |
Mar 19 (21) | 5. Imperative aspects of Scheme | Slides Log |
Mar 26 (28) | 6. Imperative Scheme and paralellism | Slides Log |
Apr 2 (4) | 7. Lambda calculus | Slides Reading |
Apr 9 (11) | 8. Introduction to Haskell | SlidesLog |
Apr 16 (18) | 9. Haskell types | SlidesLog |
Apr 23 (25) | 10. Other Haskell Language Features | SlidesLog |
Apr 30 (2) | 11. Haskell IO | Slides Log Hangman |
May 7 (16) | 12. Haskell monads | Slides Log listMonad expr lasse_eval.hs.txt lasse_l12.hs.txt |
May 21 (23) | 13. FP in the Real World | fpp.pdf fppatavast.pdf Demo |
[1] R. Kent Dybvig: The Scheme Programming Language, Fourth Edition, MIT Press, 2009. https://www.scheme.com/tspl4/
[2] Greg Michaelson: An Introduction to Functional Programming Through Lambda Calculus, Dover edition, 2011.
[3] Harold Abelson and Gerald Jay Sussman and Julie Sussman: Structure and Interpretation of Computer Programs, MIT Press, 1996. https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html
Lexical scopes: https://docs.racket-lang.org/guide/eval.html
Lazy evaluation: https://sites.ualberta.ca/~jhoover/325/CourseNotes/section/Scheme_3.htm
Streams: https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-24.html
Side effects in scheme: https://courses.cs.washington.edu/courses/cse341/05au/lectures/scheme-side-effects.html
“Objects” in scheme: http://sarabander.github.io/sicp/html/3_002e1.xhtml