Charles Explorer logo
🇬🇧

Programming in Haskell

Class at Faculty of Mathematics and Physics |
NPRG068

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

Annotation

Programming in Haskell aimed at practical problem solving -- run-time system, standard library, useful tools.