Last update: RNDr. Michal Kopecký, Ph.D. (04.06.2018)
Programming in Haskell aimed at practical problem solving -- run-time system, standard library, useful tools.
Last update: 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.
Aim of the course -
Last update: RNDr. Michal Kopecký, Ph.D. (04.06.2018)
The main goal is to develop the introduction to Haskell from the Non-procedural programming course, and learn to create useful and practical software in Haskell. The course covers several most popular libraries and some efficient solutions to complicated problems that exploit functional programming.
Last update: 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í.
Course completion requirements - Czech
Last update: RNDr. Miroslav Kratochvíl, Ph.D. (08.09.2019)
Studenti v průběhu semestru vyřeší 3 domácí úkoly. Zkouška bude probíhat z větší části formou diskuze o odevzdaných řešeních, případně doplněním nebo opravením chybějících částí. Témata zkoušky budou plně pokryta materiály z přednášky poskytnutými na webu.
Literature -
Last update: 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/
Last update: 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/
Syllabus -
Last update: RNDr. Miroslav Kratochvíl, Ph.D. (07.09.2020)
Haskell type system, typeclasses, Hindley-Milner system, System Fc
Monads, State, Monad transformers
Haskell programs from inside in GHC: Core, STG, thunks, WHNF, seq, compilation, modularization
Cabal
Standard IO library
Standard typeclasses
Standard containers, Text and ByteString
Connection to UNIX, optparse
Parsing combinators, parsec
Pretty printing
Parallelism, STM, parallel frameworks
Server applications -- Scotty, Yesod, Servant
Lens library, Prism, Iso, Traversal
Overview of several lazy data structures: Finger construction, lazy queues, ...
Simple graphical output: Gloss, JuicyPixels
Testing: HSpec, Quickcheck, Criterion
Last update: RNDr. Miroslav Kratochvíl, Ph.D. (07.09.2020)
Typový systém Haskellu, typové třídy, Hindley-Milnerův systém, Systém Fc