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
 

Testimonials

Related Courses

Java Advanced

  28 hours

Java Advanced - one day

  7 hours

Java Fundamentals for Android

  14 hours

Java fundamentals with Maven

  28 hours

Java Intermediate - one day

  7 hours

Java Persistence with Hibernate

  14 hours

Introduction to Programming

  35 hours

Clean Code

  14 hours

Linux Network Programming

  14 hours

Advanced Java Security

  21 hours

Standard Java Security

  14 hours

Java and Web Application Security

  21 hours

Haskell Fundamentals

  14 hours

Unit Testing with JUnit

  21 hours

Unit Testing with Haskell

  7 hours