IA014 Advanced Functional Programming

Fakulta informatiky
jaro 2019
Rozsah
2/0. 2 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
doc. Mgr. Jan Obdržálek, PhD. (přednášející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Po 12:00–13:50 A217
Předpoklady
Previous experience with functional programming, at least to the extent covered by the course IB015 - Non-imperative programming.
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Mateřské obory/plány
Cíle předmětu
by the end of the course, students will:
understand the theoretical foundations of functional programming;
understand and be able to efficiently use modern/advanced concepts of functional programming languages (e.g. monads);
know the limits of the functional programming paradigm;
know some of the applications suited to the FP approach;
be able to evaluate and use FP-based concepts in modern mainstream (non-FP) languages
Osnova
  • Theoretical foundations of functional programming (lambda calculus).
  • Type system, type classes.
  • Type system extensions.
  • Monads, monad transformers.
  • Generic programming.
  • Purely functional data structures.
  • Concurrency.
  • DSL - Domain specific languages.
  • Quickcheck - type based property testing.
  • Dependent types: Agda and Coq
Literatura
  • O'SULLIVAN, Bryan, John GOERZEN a Don STEWART. Real World Haskell. First Edition. O'Reilly Media, Inc., 2009, 670 s. ISBN 978-0-596-51498-3. URL info
  • OKASAKI, Chris. Purely functional data structures. Cambridge: Cambridge University Press, 1998, x, 220. ISBN 0521631246. info
  • MICHAELSON, Greg. An introduction to functional programming through Lambda calculus. Wokingham: Addison-Wesley Publishing Company, 1989, 320 s. ISBN 0-201-17812-5. info
  • JONES, Simon L. Peyton. The implementation of functional programming languages. New York: Prentice Hall, 1987, xvi, 445 s. ISBN 0-13-453325-9. info
Záložky
https://is.muni.cz/ln/tag/FI:IA014!
Výukové metody
The course is organized as a series of lectures.
Metody hodnocení
Evaluation: final written exam.
Vyučovací jazyk
Angličtina
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích jaro 2003, jaro 2004, jaro 2005, jaro 2006, jaro 2007, jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, podzim 2014, podzim 2015, jaro 2017, jaro 2018, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.