Programming in Haskell aimed at practical problem solving -- run-time system, standard library, useful tools.
Last update: Kopecký Michal, RNDr., 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.
Last update: Kopecký Michal, RNDr., Ph.D. (04.06.2018)
Aim of the course -
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: Kopecký Michal, RNDr., 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í.
Last update: Kopecký Michal, RNDr., Ph.D. (04.06.2018)
Course completion requirements - Czech
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.
Last update: Kratochvíl Miroslav, RNDr., Ph.D. (08.09.2019)
Literature -
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: Kopecký Michal, RNDr., 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: Kopecký Michal, RNDr., Ph.D. (04.06.2018)
Syllabus -
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: Kratochvíl Miroslav, RNDr., Ph.D. (07.09.2020)
Typový systém Haskellu, typové třídy, Hindley-Milnerův systém, Systém Fc