Lectures

Date Title Content Czech Lecture English Lecture
Feb 16 (18) 1. Introduction Slides Log Link Video Link Video
Feb 23 (25) 2. Lists and trees Slides Log Link Video Link Video
Mar 2 (4) 3. Higher order functions Slides Log Link Video Link Video
Mar 9 (11) 4. Closures and lazy evaluation Slides Log Link Video Link Video
Mar 16 (18) 5. Streams and queues Slides Log Link Video Link Video
Mar 23 (25) 6. Mutable data Slides Log Brainf*ck Link Video Link Video
Mar 30 (Apr 1) 7. Lambda calculus Slides Link (Sorry, I forgot to record) Link Video
Apr 6 (8) 8. Introduction to Haskell Slides Log Link Video Link Video
Apr 13 (15) 9. Haskell types Slides Log Link Video Link Video
Apr 28 (7) 10. Type Classes Slides Log Link Video Link Video
Apr 27 (29) 11. Haskell IO Slides Log Video Link Video
May 4 (6) 12. Monadic parsing Slides Log Link Video Link Video
May 11 (13) 13. State monad Slides LogLink VideoLink Video
May 18 (20) 14. Monoids and Foldables Slides LogLink Video Link

Other resources

[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

[4] Graham Hutton: Programming in Haskell, Cambridge University Press, 2016.

[5] David Liu: Principles of Programming Languages, lecture notes, https://www.cs.toronto.edu/~david/csc324/csc324_notes.pdf

[6] Raul Rojas: A Tutorial Introduction to the Lambda Calculus. http://www.inf.fu-berlin.de/lehre/WS03/alpi/lambda.pdf

Functors, Applicatives, and Monads In Pictures: https://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.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

All sorts of materials on Haskell: https://haskell.org/documentation/

Creating Haskell types: http://learnyouahaskell.com/making-our-own-types-and-typeclasses

Haskell pattern matching: https://www.haskell.org/tutorial/patterns.html

Haskell modules: https://www.haskell.org/tutorial/modules.html

Haskell IO: https://wiki.haskell.org/Introduction_to_IO

Haskell IO: https://wiki.haskell.org/IO_inside

Haskell Monads: https://www.schoolofhaskell.com/user/bartosz/basics-of-haskell/10_Error_Handling

Haskell Functors: http://learnyouahaskell.com/functors-applicative-functors-and-monoids