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 Log | Link Video | Link Video |
May 18 (20) | 14. Monoids and Foldables | Slides Log | Link Video | Link |
[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