Většinu materiálů budeme přebírat z loňska. Něco málo jsme prohodili, takže čísla přednášek nemusí sedět. Organisační pokyny nebo narážky na úlohy ve videích se také mohou lišit od letošního stavu. Nenechte se jimi zmást!
Seminář z funkcionálního programování
Materiály ze cvičení
Loňská verze
Cvičení 1
Pokročilá syntaxe, Either, funktory
Hoogle (Haskell API search)
Vyhledávač funkcí a modulů podle názvu, typu, popisu
Learn You a Haskell for Great Good!
Výtečná učebnice Haskellu od základů až po monády
Cvičení 2
Monády, aplikativní funktory
Snadno stravitelné články k pochopení monád:
Cvičení 3
Parsec
První velký domácí úkol
Parser. Informace jsou v samostatné podosnově.
Cvičení 4
QuickCheck
Přednáška: QuickCheck
Může být zapotřebí video otevřít mimo prohlížeč (kodek H.265)
Cvičení 5
Vyhodnocovací strategie
Cvičení 6
Semigroup, Monoid, Foldable, Traversable
Cvičení 7
Reader, Writer, State
Cvičení 8
Pokročilejší I/O, výjimky
Druhý velký domácí úkol
Informace jsou v samostatné podosnově.
Cvičení 9
Čočky (lenses) a jiná optika
Příklad: hra Pong
Vcelku hezký a čitelný příklad použití čoček ve stavové monádě (operátory +=, %= atd.)
Cvičení 10
Zippers, řetězce, rozšíření GHC
Cvičení 11
Transformátory monád (ReaderT, WriterT, StateT, ExceptT)
Cvičení 12
Ještě mnohem temnější magie
TODO: cviko