This is an old revision of the document!
Table of Contents
Funkcionální jazyky a jejich vlastnosti. Lambda kalkulus, iterativní konstrukty a rekurze.
- Čisté funkce (pure functions), jejich výhody a nevýhody.
- Rekurzivní funkce, typy rekurze, koncová rekurze (tail recursion).
- Reprezentace seznamů a stromů ve Scheme/Racketu.
- Víceřádové funkce (higher-order functions), příklady, currying a částečně vyhodnocené funkce, levý a pravý fold.
- Funkční (neboli lexikální) uzávěry, příklady.
- Lambda kalkulus, alfa-konverze, beta-redukce, evaluační strategie (normal a applicative), normální forma, Church-Rosserova věta, Y-combinator.
- Algebraické datove typy (ADT) v Haskellu, příklad rekurzivního ADT.
- Typové třídy (type classes) v Haskellu, polymorfismy v Haskellu.
- Typové třídy Functor, Applicative functor, Monad a jejich použití.