UINA520 Functional Programming

Filozoficko-přírodovědecká fakulta v Opavě
léto 2025
Rozsah
0/2/0. 4 kr. Ukončení: z.
Vyučující
RNDr. Jiří Martinů, Ph.D. (cvičící)
Garance
Ing. Jiří Blahuta, Ph.D.
Ústav informatiky – Filozoficko-přírodovědecká fakulta v Opavě
Předpoklady
Základní dovednosti programování (z bakalářského studia a deriváty C jazyka).
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
Kurz jazyka LISP. Tvorba rekurzivních funkcí, práce se seznamy. Lambda kalkul, funkce vyššího řádu. Vytváření a použití struktur.
Výstupy z učení
Programování v jazyku funkcionálním.
Osnova
  • 1. Úvod. Lisp a jeho vývoj, současnost a perspektiva. Dialekty, příbuzní a potomci Lispu. Common Lisp jako standard; srovnání s ostatními jazyky. Direktivní, procedurální, objektové, modulární, logické a funkcionální programování a jejich podpora v Lispu. 2. První pohled na Lisp. Základní datové typy. Atomy a seznamy jejich vyhodnocování. Symboly a vazby; funkce; principy funkcionálního programování. 3. Macintosh Common Lisp. Editor, posluchač, inspektor a debugger. Integrace vývojového prostředí a Lispu. Lisp jako dynamický jazyk. 4. Druhý pohled na Lisp. Lambda kalkul v Lispu, anonymní funkce, funkce vyššího řádu, lexikální prostředí. Lisp a umělá inteligence. 5. Třetí pohled na Lisp. Cyklus Read-eval-print. Základní datové typy podruhé. Makra. Optimalizace programu. 6. Objektové programování v Lispu. Třídy a instance, vícenásobné dědění. Generické funkce, metody a multimetody. Kombinace metod. Metaobjektový protokol.
Literatura
  •  TOURETZKY, David S. Common LISP: A Gentle Introduction to Symbolic Computation. Mineola, NY: Dover Publications, 2013. ISBN 978-0-486-49820-1. Most pages available at books.google.com. Recommended sources:  MUELLER, John. Functional programming for du
Výukové metody
Projekt a cvičení.
Metody hodnocení
75% účast na cvičení, aktivní spolupráce, více než 50% úspěšnost při řešení úloh
Informace učitele
is.slu.cz
Předmět je zařazen také v obdobích léto 2022, léto 2023, léto 2024.