IA014 Advanced Functional Programming

Fakulta informatiky
jaro 2025
Rozsah
2/0/0. 2 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučováno kontaktně
Vyučující
doc. Mgr. Jan Obdržálek, PhD. (přednášející)
Garance
doc. Mgr. Jan Obdržálek, PhD.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
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
předmět má 30 mateřských oborů, zobrazit
Cíle předmětu
Introduce the theoretical concepts behind the functional programming paradigm, i.e. lambda-calculus and various type systems. Present some of the modern advanced functional programming concepts (typeclasses, monads, monad transformers, GADTs, dependent types...).
Výstupy z učení
By the end of the course, students will:
understand the theoretical foundations of functional programming, e,g, lambda calculi and type theory;
understand and be able to efficiently use modern/advanced concepts of functional programming languages (e.g. typeclasses, monads, monad transformers...);
know the limits of the functional programming paradigm;
be able to evaluate and use FP-based concepts in modern mainstream (non-FP) languages.
Osnova
  • History of functional programming languages.
  • Untyped lambda calculus.
  • Simply typed lambda calculus.
  • Polymorphism add type inference (Hindley-Milner, System F)
  • Type classes.
  • Functors, Applicatives.
  • Monads.
  • Monad tranformers.
  • GADTs - Generalized Algebraic Data Types
  • Dependent types.
Literatura
  • BARENDREGT, Henk. The lambda calculus, its syntax and semantics. London: College Publications, 2012, xv, 621. ISBN 9781848900660. 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
  • PIERCE, Benjamin C. Types and programming languages. Cambridge, Massachusetts: The MIT Press, 2002, xxi, 623. ISBN 9780262162098. info
  • 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
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL 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í
Written midterm test covering the first half of the course, final oral exam (with a written part).
Vyučovací jazyk
Angličtina
Další komentáře
Předmět je vyučován každoročně.
Výuka probíhá každý týden.
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 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024.

IA014 Advanced Functional Programming

Fakulta informatiky
jaro 2024
Rozsah
2/0/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
doc. Mgr. Jan Obdržálek, PhD.
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
předmět má 46 mateřských oborů, zobrazit
Cíle předmětu
Introduce the theoretical concepts behind the functional programming paradigm, i.e. lambda-calculus and various type systems. Present some of the modern advanced functional programming concepts (typeclasses, monads, monad transformers, GADTs, dependent types...).
Výstupy z učení
By the end of the course, students will:
understand the theoretical foundations of functional programming, e,g, lambda calculi and type theory;
understand and be able to efficiently use modern/advanced concepts of functional programming languages (e.g. typeclasses, monads, monad transformers...);
know the limits of the functional programming paradigm;
be able to evaluate and use FP-based concepts in modern mainstream (non-FP) languages.
Osnova
  • History of functional programming languages.
  • Untyped lambda calculus.
  • Simply typed lambda calculus.
  • Polymorphism add type inference (Hindley-Milner, System F)
  • Type classes.
  • Functors, Applicatives.
  • Monads.
  • Monad tranformers.
  • GADTs - Generalized Algebraic Data Types
  • Dependent types.
Literatura
  • BARENDREGT, Henk. The lambda calculus, its syntax and semantics. London: College Publications, 2012, xv, 621. ISBN 9781848900660. 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
  • PIERCE, Benjamin C. Types and programming languages. Cambridge, Massachusetts: The MIT Press, 2002, xxi, 623. ISBN 9780262162098. info
  • 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
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL 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í
Written midterm test covering the first half of the course, final oral exam (with a written part).
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 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2025.

IA014 Advanced Functional Programming

Fakulta informatiky
jaro 2023
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
doc. Mgr. Jan Obdržálek, PhD.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Út 14. 2. až Út 9. 5. Út 10:00–11:50 A318
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
předmět má 46 mateřských oborů, zobrazit
Cíle předmětu
Introduce the theoretical concepts behind the functional programming paradigm, i.e. lambda-calculus and various type systems. Present some of the modern advanced functional programming concepts (typeclasses, monads, monad transformers, GADTs, dependent types...).
Výstupy z učení
By the end of the course, students will:
understand the theoretical foundations of functional programming, e,g, lambda calculi and type theory;
understand and be able to efficiently use modern/advanced concepts of functional programming languages (e.g. typeclasses, monads, monad transformers...);
know the limits of the functional programming paradigm;
be able to evaluate and use FP-based concepts in modern mainstream (non-FP) languages.
Osnova
  • History of functional programming languages.
  • Untyped lambda calculus.
  • Simply typed lambda calculus.
  • Polymorphism add type inference (Hindley-Milner, System F)
  • Type classes.
  • Functors, Applicatives.
  • Monads.
  • Monad tranformers.
  • GADTs - Generalized Algebraic Data Types
  • Dependent types.
Literatura
  • BARENDREGT, Henk. The lambda calculus, its syntax and semantics. London: College Publications, 2012, xv, 621. ISBN 9781848900660. 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
  • PIERCE, Benjamin C. Types and programming languages. Cambridge, Massachusetts: The MIT Press, 2002, xxi, 623. ISBN 9780262162098. info
  • 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
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL 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í
Written midterm test covering the first half of the course, final oral exam (with a written part).
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 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2024, jaro 2025.

IA014 Advanced Functional Programming

Fakulta informatiky
jaro 2022
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
doc. Mgr. Jan Obdržálek, PhD.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Čt 17. 2. až Čt 12. 5. Čt 10:00–11:50 A320
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
předmět má 45 mateřských oborů, zobrazit
Cíle předmětu
Introduce the underlying theory of functional programming. Show some of the modern advanced functional programming concepts (monads, monad transformers, GADTs, dependent types...).
Výstupy z učení
By the end of the course, students will:
understand the theoretical foundations of functional programming, e,g, lambda calculi and type theory;
understand and be able to efficiently use modern/advanced concepts of functional programming languages (e.g. typeclasses, monads, monad transformers...);
know the limits of the functional programming paradigm;
be able to evaluate and use FP-based concepts in modern mainstream (non-FP) languages
Osnova
  • History of functional programming languages.
  • Untyped lambda calculus.
  • Simply typed lambda calculus.
  • Polymorphism add type inference (Hindley-Milner, System F)
  • Type classes.
  • Functors, Applicatives.
  • Monads.
  • Monad tranformers.
  • GADTs - Generalized Algebraic Data Types
  • Dependent types.
  • IO and Concurrency.
Literatura
  • BARENDREGT, Henk. The lambda calculus, its syntax and semantics. London: College Publications, 2012, xv, 621. ISBN 9781848900660. 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
  • PIERCE, Benjamin C. Types and programming languages. Cambridge, Massachusetts: The MIT Press, 2002, xxi, 623. ISBN 9780262162098. info
  • 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
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL 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: midterm exam (20%), final written exam (80%).
>50% of points required to pass.
Optional oral exam if you get at least "C" for the written part.
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 2019, jaro 2020, jaro 2021, jaro 2023, jaro 2024, jaro 2025.

IA014 Advanced Functional Programming

Fakulta informatiky
jaro 2021
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
doc. Mgr. Jan Obdržálek, PhD.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
St 10:00–11:50 Virtuální místnost
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
předmět má 45 mateřských oborů, zobrazit
Cíle předmětu
Introduce the underlying theory of functional programming. Show some of the modern advanced functional programming concepts (monads, monad transformers, GADTs, dependent types...).
Výstupy z učení
By the end of the course, students will:
understand the theoretical foundations of functional programming, e,g, lambda calculi and type theory;
understand and be able to efficiently use modern/advanced concepts of functional programming languages (e.g. typeclasses, monads, monad transformers...);
know the limits of the functional programming paradigm;
be able to evaluate and use FP-based concepts in modern mainstream (non-FP) languages
Osnova
  • History of functional programming languages.
  • Untyped lambda calculus.
  • Simply typed lambda calculus.
  • Polymorphism add type inference (Hindley-Milner, System F)
  • Type classes.
  • Functors, Applicatives.
  • Monads.
  • Monad tranformers.
  • GADTs - Generalized Algebraic Data Types
  • Dependent types.
  • IO and Concurrency.
Literatura
  • BARENDREGT, Henk. The lambda calculus, its syntax and semantics. London: College Publications, 2012, xv, 621. ISBN 9781848900660. 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
  • PIERCE, Benjamin C. Types and programming languages. Cambridge, Massachusetts: The MIT Press, 2002, xxi, 623. ISBN 9780262162098. info
  • 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
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL 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: midterm exam (20%), final written exam (80%).
>50% of points required to pass.
Optional oral exam if you get at least "C" for the written part.
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 2019, jaro 2020, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Advanced Functional Programming

Fakulta informatiky
jaro 2020
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
doc. Mgr. Jan Obdržálek, PhD.
Katedra teorie programování – Fakulta informatiky
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Po 17. 2. až Pá 15. 5. Út 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
předmět má 45 mateřských oborů, zobrazit
Cíle předmětu
Introduce the underlying theory of functional programming. Show some of the modern advanced functional programming concepts (monads, monad transformers, GADTs, dependent types...).
Výstupy z učení
By the end of the course, students will:
understand the theoretical foundations of functional programming, e,g, lambda calculi and type theory;
understand and be able to efficiently use modern/advanced concepts of functional programming languages (e.g. typeclasses, monads, monad transformers...);
know the limits of the functional programming paradigm;
be able to evaluate and use FP-based concepts in modern mainstream (non-FP) languages
Osnova
  • History of functional programming languages.
  • Untyped lambda calculus.
  • Simply typed lambda calculus.
  • Polymorphism add type inference (Hindley-Milner, System F)
  • Type classes.
  • Functors, Applicatives.
  • Monads.
  • Monad tranformers.
  • GADTs - Generalized Algebraic Data Types
  • Dependent types.
  • IO and Concurrency.
Literatura
  • BARENDREGT, Henk. The lambda calculus, its syntax and semantics. London: College Publications, 2012, xv, 621. ISBN 9781848900660. 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
  • PIERCE, Benjamin C. Types and programming languages. Cambridge, Massachusetts: The MIT Press, 2002, xxi, 623. ISBN 9780262162098. info
  • 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
  • LIPOVAČA, Miran. Learn You a Haskell for Great Good!: A Beginner's Guide. First Edition. San Francisco, CA, USA: No Starch Press, 2011, 400 s. ISBN 978-1-59327-283-8. URL 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: midterm exam (20%), final written exam (80%).
>50% of points required to pass.
Optional oral exam if you get at least "C" for the written part.
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 2019, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

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
předmět má 16 mateřských oborů, zobrazit
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.

IA014 Advanced Functional Programming

Fakulta informatiky
jaro 2018
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 16:00–17:50 A218
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
předmět má 16 mateřských oborů, zobrazit
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 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Advanced Functional Programming

Fakulta informatiky
jaro 2017
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
předmět má 16 mateřských oborů, zobrazit
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 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Advanced Functional Programming

Fakulta informatiky
podzim 2015
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
Čt 10:00–11:50 D2
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
předmět má 16 mateřských oborů, zobrazit
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, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Advanced Functional Programming

Fakulta informatiky
podzim 2014
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
Čt 12:00–13:50 D2
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
předmět má 15 mateřských oborů, zobrazit
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 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2013
Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Mgr. Matej Kollár (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
St 16:00–18:50 G123
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
předmět má 23 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování.
Osnova
  • Jednoduchý jazyk a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení. Optimální redukce, plná lenost.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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
Kurs probíhá formou přednášek.
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
Další komentáře
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, podzim 2014, podzim 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2012
Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Mgr. Matej Kollár (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
Rozvrh
Čt 16:00–18:50 B204
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
předmět má 23 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování. Funkcionální jazyky jsou zavedeny jako různé modifikace a rozšíření (typovaného i netypovaného) lambda kalkulu. Pozornost se věnuje též typovým systémům pro funkcionální jazyky, a dále problematice implementace interpretů a kompilátorů a optimalizaci výpočtu. Absolvování kursu si pomůže studentům hlouběji si uvědomit souvislosti mezi různými matematickými kalkuly a funkcionálními jazyky, jakož i vazbu na matematickou logiku a teorii typů.
Osnova
  • Netypovaný a typovaný lambda kalkul. Silná normalizace, Churchova-Rosserova vlastnost.
  • Rekurse, věta o pevném bodě.
  • Jednoduchý jazyk a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Typové a konstruktorové třídy. Monády. Monadický datový typ pro vstup/výstup. Monadické kombinátory pro syntaktickou analýzu.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení. Optimální redukce, plná lenost.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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
Kurs probíhá formou přednášek.
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
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 2013, podzim 2014, podzim 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2011
Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Mgr. Matej Kollár (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Čt 14:00–16:50 B204
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
předmět má 22 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování. Funkcionální jazyky jsou zavedeny jako různé modifikace a rozšíření (typovaného i netypovaného) lambda kalkulu. Pozornost se věnuje též typovým systémům pro funkcionální jazyky, a dále problematice implementace interpretů a kompilátorů a optimalizaci výpočtu. Absolvování kursu si pomůže studentům hlouběji si uvědomit souvislosti mezi různými matematickými kalkuly a funkcionálními jazyky, jakož i vazbu na matematickou logiku a teorii typů.
Osnova
  • Netypovaný a typovaný lambda kalkul. Silná normalizace, Churchova-Rosserova vlastnost.
  • Rekurse, věta o pevném bodě.
  • Jednoduchý jazyk a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Typové a konstruktorové třídy. Monády. Monadický datový typ pro vstup/výstup. Monadické kombinátory pro syntaktickou analýzu.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení. Optimální redukce, plná lenost.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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
Kurs probíhá formou přednášek.
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
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 2012, jaro 2013, podzim 2014, podzim 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2010
Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Mgr. Matej Kollár (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Čt 14:00–16:50 B011
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
předmět má 22 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování. Funkcionální jazyky jsou zavedeny jako různé modifikace a rozšíření (typovaného i netypovaného) lambda kalkulu. Pozornost se věnuje též typovým systémům pro funkcionální jazyky, a dále problematice implementace interpretů a kompilátorů a optimalizaci výpočtu. Absolvování kursu si pomůže studentům hlouběji si uvědomit souvislosti mezi různými matematickými kalkuly a funkcionálními jazyky, jakož i vazbu na matematickou logiku a teorii typů.
Osnova
  • Netypovaný a typovaný lambda kalkul. Silná normalizace, Churchova-Rosserova vlastnost.
  • Rekurse, věta o pevném bodě.
  • Jednoduchý jazyk a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Typové a konstruktorové třídy. Monády. Monadický datový typ pro vstup/výstup. Monadické kombinátory pro syntaktickou analýzu.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení. Optimální redukce, plná lenost.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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
Kurs probíhá formou přednášek.
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
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 2011, jaro 2012, jaro 2013, podzim 2014, podzim 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2009
Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Čt 14:00–16:50 B204
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
předmět má 19 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování. Funkcionální jazyky jsou zavedeny jako různé modifikace a rozšíření (typovaného i netypovaného) lambda kalkulu. Pozornost se věnuje též typovým systémům pro funkcionální jazyky, a dále problematice implementace interpretů a kompilátorů a optimalizaci výpočtu.
Osnova
  • Netypovaný a typovaný lambda kalkul. Silná normalizace, Churchova-Rosserova vlastnost.
  • Rekurse, věta o pevném bodě.
  • Jazyk PCF a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Monády. Monadický datový typ pro vstup/výstup. Monadické kombinátory pro syntaktickou analýzu.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení.
  • Optimální redukce, plná lenost, plně líné vynášení.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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!
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
Další komentáře
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 2010, jaro 2011, jaro 2012, jaro 2013, podzim 2014, podzim 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2008
Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Čt 16:00–18:50 B011
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
předmět má 19 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování. Funkcionální jazyky jsou zavedeny jako různé modifikace a rozšíření (typovaného i netypovaného) lambda kalkulu. Pozornost se věnuje též typovým systémům pro funkcionální jazyky, a dále problematice implementace interpretů a kompilátorů a optimalizaci výpočtu.
Osnova
  • Netypovaný a typovaný lambda kalkul. Silná normalizace, Churchova-Rosserova vlastnost.
  • Rekurse, věta o pevném bodě.
  • Jazyk PCF a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Monády. Monadický datový typ pro vstup/výstup. Monadické kombinátory pro syntaktickou analýzu.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení.
  • Optimální redukce, plná lenost, plně líné vynášení.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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!
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
Další komentáře
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 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, podzim 2014, podzim 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2007
Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Čt 16:00–18:50 B204
Předpoklady
! I014 Funkcionální programování
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
předmět má 7 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování. Funkcionální jazyky jsou zavedeny jako různé modifikace a rozšíření (typovaného i netypovaného) lambda kalkulu. Pozornost se věnuje též typovým systémům pro funkcionální jazyky, a dále problematice implementace interpretů a kompilátorů a optimalizaci výpočtu.
Osnova
  • Netypovaný a typovaný lambda kalkul. Silná normalizace, Churchova-Rosserova vlastnost.
  • Rekurse, věta o pevném bodě.
  • Jazyk PCF a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Monády. Monadický datový typ pro vstup/výstup. Monadické kombinátory pro syntaktickou analýzu.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení.
  • Optimální redukce, plná lenost, plně líné vynášení.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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!
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
Další komentáře
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 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, podzim 2014, podzim 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2006
Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Čt 16:00–18:50 B011
Předpoklady
! I014 Funkcionální programování
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
předmět má 7 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování. Funkcionální jazyky jsou zavedeny jako různé modifikace a rozšíření (typovaného i netypovaného) lambda kalkulu. Pozornost se věnuje též typovým systémům pro funkcionální jazyky, a dále problematice implementace interpretů a kompilátorů a optimalizaci výpočtu.
Osnova
  • Netypovaný a typovaný lambda kalkul. Silná normalizace, Churchova-Rosserova vlastnost.
  • Rekurse, věta o pevném bodě.
  • Jazyk PCF a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Monády. Monadický datový typ pro vstup/výstup. Monadické kombinátory pro syntaktickou analýzu.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení.
  • Optimální redukce, plná lenost, plně líné vynášení.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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!
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
Další komentáře
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 2007, jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, podzim 2014, podzim 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2005
Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Čt 16:00–18:50 B204
Předpoklady
! I014 Funkcionální programování
Omezení zápisu do předmětu
Předmět je určen pouze studentům mateřských oborů.
Mateřské obory/plány
předmět má 7 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování. Funkcionální jazyky jsou zavedeny jako různé modifikace a rozšíření (typovaného i netypovaného) lambda kalkulu. Pozornost se věnuje též typovým systémům pro funkcionální jazyky, a dále problematice implementace interpretů a kompilátorů a optimalizaci výpočtu.
Osnova
  • Netypovaný a typovaný lambda kalkul. Silná normalizace, Churchova-Rosserova vlastnost.
  • Rekurse, věta o pevném bodě.
  • Jazyk PCF a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Monády. Monadický datový typ pro vstup/výstup. Monadické kombinátory pro syntaktickou analýzu.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení.
  • Optimální redukce, plná lenost, plně líné vynášení.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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!
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
Další komentáře
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 2006, jaro 2007, jaro 2008, jaro 2009, jaro 2010, jaro 2011, jaro 2012, jaro 2013, podzim 2014, podzim 2015, jaro 2017, jaro 2018, jaro 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2004
Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Čt 16:00–18:50 B204
Předpoklady
! I014 Funkcionální programování
Omezení zápisu do předmětu
Předmět je určen pouze studentům mateřských oborů.
Mateřské obory/plány
předmět má 7 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování. Funkcionální jazyky jsou zavedeny jako různé modifikace a rozšíření (typovaného i netypovaného) lambda kalkulu. Pozornost se věnuje též typovým systémům pro funkcionální jazyky, a dále problematice implementace interpretů a kompilátorů a optimalizaci výpočtu.
Osnova
  • Netypovaný a typovaný lambda kalkul. Silná normalizace, Churchova-Rosserova vlastnost.
  • Rekurse, věta o pevném bodě.
  • Jazyk PCF a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Monády. Monadický datový typ pro vstup/výstup. Monadické kombinátory pro syntaktickou analýzu.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení.
  • Optimální redukce, plná lenost, plně líné vynášení.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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!
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
Další komentáře
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích jaro 2003, 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 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2003
Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Rozvrh
Čt 17:00–19:50 B011
Předpoklady
! I014 Funkcionální programování
Omezení zápisu do předmětu
Předmět je určen pouze studentům mateřských oborů.
Mateřské obory/plány
předmět má 7 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování. Funkcionální jazyky jsou zavedeny jako různé modifikace a rozšíření (typovaného i netypovaného) lambda kalkulu. Pozornost se věnuje též typovým systémům pro funkcionální jazyky, a dále problematice implementace interpretů a kompilátorů a optimalizaci výpočtu.
Osnova
  • Netypovaný a typovaný lambda kalkul. Silná normalizace, Churchova-Rosserova vlastnost.
  • Rekurse, věta o pevném bodě.
  • Kombinátorový počet. Kombinátory S, K, I, B, C.
  • Jazyk PCF a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Monády. Monadický datový typ pro vstup/výstup. Monadické kombinátory pro syntaktickou analýzu.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení.
  • Optimální redukce, plná lenost, plně líné vynášení.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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!
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
Informace učitele
http://www.fi.muni.cz/usr/skarvada/vyuka/IA014/
Další komentáře
Předmět je vyučován každoročně.
Předmět je zařazen také v obdobích 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 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.

IA014 Funkcionální programování

Fakulta informatiky
jaro 2014

Předmět se v období jaro 2014 nevypisuje.

Rozsah
3/0. 3 kr. (plus ukončení). Doporučované ukončení: zk. Jiná možná ukončení: k, z.
Vyučující
RNDr. Libor Škarvada (přednášející)
Mgr. Matej Kollár (pomocník)
Garance
prof. RNDr. Mojmír Křetínský, CSc.
Katedra teorie programování – Fakulta informatiky
Kontaktní osoba: RNDr. Libor Škarvada
Dodavatelské pracoviště: Katedra teorie programování – Fakulta informatiky
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
předmět má 18 mateřských oborů, zobrazit
Cíle předmětu
Kurs přináší přehled hlavních teoretických výsledků využívaných ve funkcionálním programování.
Osnova
  • Jednoduchý jazyk a jeho sémantika.
  • Typy. Problém otypování, parametrický polymorfismus. Impredikativní typové systémy. Otypování v predikativních typových systémech.
  • Podtypy, hodnotově závislé typy, PTS.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Implementace funkcionálních jazyků. Překlad definic podle vzoru, strážených klauzulí, intensionálních seznamů.
  • Grafová redukce. G-stroj. Superkombinátory, vynášení. Optimální redukce, plná lenost.
Literatura
  • FIELD, Anthony J. a Peter G. HARRISON. Functional programming. 1st ed. Wokingham: Addison-Wesley Publishing Company, 1988, 602 s. ISBN 0-201-19249-7. 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
Kurs probíhá formou přednášek.
Metody hodnocení
Kurs je ukončen závěrečnou písemnou zkouškou.
Další komentáře
Studijní materiály
Předmět je vyučován každoročně.
Výuka probíhá každý týden.
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 2019, jaro 2020, jaro 2021, jaro 2022, jaro 2023, jaro 2024, jaro 2025.