FI:IA014 Funkcionální programování - Informace o předmětu
IA014 Funkcionální programování
Fakulta informatikyjaro 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
- Aplikovaná informatika (program FI, N-AP)
- Bezpečnost informačních technologií (program FI, N-IN)
- Bioinformatika (program FI, N-AP)
- Informační systémy (program FI, N-IN)
- Informatika (program FI, M-IN)
- Informatika (program FI, N-IN)
- Paralelní a distribuované systémy (program FI, N-IN)
- Počítačová grafika (program FI, N-IN)
- Počítačové sítě a komunikace (program FI, N-IN)
- Počítačové systémy (program FI, N-IN)
- Programovatelné technické struktury (angl.) (program FI, N-IN)
- Programovatelné technické struktury (program FI, N-IN)
- Služby - výzkum, řízení a inovace (angl.) (program FI, N-AP)
- Služby - výzkum, řízení a inovace (program FI, N-AP)
- Teoretická informatika (program FI, N-IN)
- Učitelství výpočetní techniky pro střední školy (program FI, M-IN)
- Učitelství výpočetní techniky pro střední školy (program FI, M-SS)
- Učitelství výpočetní techniky pro střední školy (program FI, M-TV)
- Učitelství výpočetní techniky pro střední školy (program FI, N-SS) (2)
- Umělá inteligence a zpracování přirozeného jazyka (program FI, N-IN)
- Zpracování obrazu (program FI, N-AP)
- 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ě.
- Statistika zápisu (jaro 2010, nejnovější)
- Permalink: https://is.muni.cz/predmet/fi/jaro2010/IA014