Course Outline

Basic Typeclassopedia

  • Functor
  • Applicative
  • Foldable, Traversable
  • Monads
  • Other (Arrow, etc.)

Advanced types

  • Algebraic data types in depth
  • Advanced Type classes
  • Type families
  • GADTs

Debugging and code optimizing

  • Strictness in data types and functions
  • Memory and CPU profiling
  • Efficient data structures (bytestring, text, vector and co.)
  • Note on "unsafes"

Understanding the Runtime System

  • Memory layout in GHC
  • Unpacking strict fields
  • Understanding and reading Core

Concurrency in Haskell

  • Haskell threads
  • MVars and co.
  • STM
  • Parallelism

Foreign Function Interface

  • FFI basics
  • Safe vs. unsafe
  • Globals in Haskell

Template Haskell

  • Splicing and quotation
  • The Q monad
  • Reification

Requirements

Basic knowledge of Haskell programming language and some experience with Haskell programming.

 14 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses