Funkcionální styl programování je dobře zavedený, ale po celá desetiletí se většinou používal jen na univerzitách a obvykle byl považován za pěkným konceptem bez skutečné praktické aplikace. Čistě funkční jazyky, jako je Haskell, se zřídka používaly pro reálné aplikace. Právě teď prochází funkcionální styl programování jakousi renesancí. Je integrován do mnoha nejpopulárnějších multiparadigmatických jazyků jako je Python, Javascript nebo C #. Navíc se objevily a začaly se používat nové čisté funkcionální jazyky jako Scala, F # nebo Clojure. S technologiemi jako JVM (Scala) nebo .NET CLR (F #) je ještě snazší mít projekt integrující různé styly programování.
V tomto předmětu se zaměříme na praktické aspekty vývoje aplikací pomocí čistě funkčních programovacích jazyků Haskell a Elm. Jako klíčový projekt vytvoříme webový informační systém, kde bude přední část implementována v Elmu a zadní část bude v Haskellu. Budou propojeny pomocí REST Api. Kromě toho se budeme zabývat dalšími problémy, jako je použití databáze nebo zpracování různých formátů dat. Na tomto projektu bude prokázáno, že tyto funkcionální jazyky jsou vhodné pro vývoj aplikací v reálné praxi. Navíc si ukážeme, že jejich použití má některé klíčové výhody. Kromě samotného programování se také naučíme používat vybranou klíčovou infrastrukturu a nástroje podporující vývoj reálných aplikací.