I014 Funkcionální programování

Fakulta informatiky
jaro 2002
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
St 17:00–19:50 D1
Předpoklady
I015 Úvod do funkc. progr.
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
Kurs přináší pohled na funkcionální jazyky z hlediska jednoduchých matematických formalismů, kterými jsou různé modifikace a rozšíření (typovaného) lambda kalkulu. Věnuje se rovněž 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í.
  • Polymorfismus. Predikativní a impredikativní typové systémy.
  • Typové třídy a konstruktorové třídy. Podtypy a typové systémy pro OOP.
  • Imperativní prvky, vstup/výstup, ošetření výjimek, nedeterminismus, přepisovatelná pole, stav. Pokračování.
  • Monády. Monadický datový typ IO.
  • Implementace funkcionálních jazyků. SECD stroj. 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
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 léto 1996, léto 1997, léto 1998, jaro 1999, jaro 2000, jaro 2001.
  • Statistika zápisu (nejnovější)
  • Permalink: https://is.muni.cz/predmet/fi/jaro2002/I014