IA014 Advanced Functional Programming

Lecture VI - Monads

Lecture dates

21. 4. 2021 [Introduction; Functor; Applicative; motivating example for monads - till slide 29]

28. 4. 2021 [Monads proper] 

Reading

P. Wadler: Monads for functional programming. Marktoberdorf 1992.  [PDF]

Great introduction to monads. The "monad tutorial" part of the lecture was adapted from this paper. Highly recommended, even though it's more than 20 years old.

The Typeclassopedia [haskellwiki]

Read this! Functors, applicative functors and more.

All About Monads [haskellwiki]

D. Piponi: You Could Have Invented Monads! (And Maybe You Already Have.)

Relevant book chapters

(I suggest you start with LYAH).

Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/jaro2021/IA014/um/06-monads.pdf
Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/jaro2021/IA014/um/51711414/monads.hs
Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/jaro2021/IA014/um/51711414/monads2.hs

Lecture recordings

Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/jaro2021/IA014/um/vid/2021-04-21_ia014.mp4
Chyba: Odkazovaný objekt neexistuje nebo nemáte právo jej číst.
https://is.muni.cz/el/fi/jaro2021/IA014/um/vid/2021-04-28_ia014.mp4