SubjectsSubjects(version: 953)
Course, academic year 2023/2024
   Login via CAS
Programming in Haskell - NPRG068
Title: Programování v Haskellu
Guaranteed by: Department of Software Engineering (32-KSI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2022
Semester: winter
E-Credits: 3
Hours per week, examination: winter s.:2/0, Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: not taught
Language: Czech
Teaching methods: full-time
Teaching methods: full-time
Additional information:
Guarantor: RNDr. Miroslav Kratochvíl, Ph.D.
Class: Informatika Bc.
Classification: Informatics > Informatics, Software Applications, Computer Graphics and Geometry, Database Systems, Didactics of Informatics, Discrete Mathematics, External Subjects, General Subjects, Computer and Formal Linguistics, Optimalization, Programming, Software Engineering, Theoretical Computer Science
Annotation -
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)
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)
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.

2. Learn You A Haskell For Great Good.

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)
Charles University | Information system of Charles University |