PředmětyPředměty(verze: 845)
Předmět, akademický rok 2018/2019
   Přihlásit přes CAS
Programování v Haskellu - NPRG068
Anglický název: Programming in Haskell
Zajišťuje: Katedra softwarového inženýrství (32-KSI)
Fakulta: Matematicko-fyzikální fakulta
Platnost: od 2018
Semestr: zimní
E-Kredity: 3
Rozsah, examinace: zimní s.:2/0 Zk [hodiny/týden]
Počet míst: neomezen
Minimální obsazenost: neomezen
Stav předmětu: vyučován
Jazyk výuky: čeština
Způsob výuky: prezenční
Další informace: http://www.ksi.mff.cuni.cz/~kratochvil/haskell/
Garant: RNDr. Miroslav Kratochvíl
Třída: Informatika Bc.
Kategorizace předmětu: Informatika > Informatika, Aplikační software, Počítačová grafika a geometrie, Databázové systémy, Didaktika informatiky, Diskrétní matematika, Předměty širšího základu, Předměty obecného základu, Počítačová a formální lingvistika, Optimalizace, Programování, Softwarové inženýrství, Teoretická informatika
Anotace -
Poslední úprava: RNDr. Michal Kopecký, Ph.D. (04.06.2018)
Programování v Haskellu zaměřené na řešení praktických problémů -- run-time systém, standardní knihovna, užitečné nástroje.
Cíl předmětu -
Poslední úprava: RNDr. Michal Kopecký, Ph.D. (04.06.2018)

Cílem je navázat na úvod do Haskellu z předmětu Neprocedurální programování a naučit se programovat užitečný a prakticky použitelný software v Haskellu. Součástí předmětu je přehled nejpopulárnějších knihoven a efektivních řešení složitých problémů pomocí funkcionálního programování.

Podmínky zakončení předmětu
Poslední úprava: RNDr. Miroslav Kratochvíl (27.08.2018)

Studenti do konce semestru vypracují malý projekt v Haskellu, pracovat lze i ve skupinách (s rozumnou úpravou velikosti projektu).

Zkouška bude probíhat z větší části formou diskuze o řešení tohoto projektu. Témata zkoušky budou plně pokryta materiály z přednášky poskytnutými na webu.

Literatura -
Poslední úprava: RNDr. Michal Kopecký, Ph.D. (04.06.2018)

1. Bryan O'Sullivan, Don Stewart, and John Goerzen: Real World Haskell - Code You Can Believe In. O'Reilly, November 2008, ISBN-10: 0596514980, ISBN-13: 978-0596514983. http://book.realworldhaskell.org/read/

2. Learn You A Haskell For Great Good. http://learnyouahaskell.com/

Sylabus -
Poslední úprava: RNDr. Miroslav Kratochvíl (10.06.2018)
  • Typový systém Haskellu, typové třídy, Hindley-Milnerův systém, Systém Fc
  • Monády, State, Monádové transformery
  • Přehled vnitřního fungování Haskellových programů v GHC: Core, STG, thunky, WHNF, seq, kompilace, modularizace
  • Cabal a Stack
  • Standardní knihovna pro IO
  • Standardní typové třídy
  • Standardní kontejnery, Text a ByteString
  • Spojení s UNIXem, optparse
  • Parsovací kombinátory, parsec
  • Pretty printing
  • Paralelizace, STM, paralelní frameworky
  • Serverové aplikace -- Scotty, Yesod, Servant
  • Lens-ová knihovna, Prism, Iso, Traversal
  • Přehled některých líných datových struktur: Finger-konstrukce, lazy fronty, ...
  • Jednoduchý grafický výstup: Gloss, JuicyPixels
  • Testování: HSpec, Quickcheck, Conduit
  • Funkcionální reaktivní programování

 
Univerzita Karlova | Informační systém UK