Haskell

CloudLabs

Projects

Assignment

24x7 Support

Lifetime Access

.

Course Overview

Haskell is a computer programming language. In particular, it is a polymorphically statically typed, lazy, purely functional language, quite different from most other programming languages. The language is named for Haskell Brooks Curry, whose work in mathematical logic serves as a foundation for functional languages.

At the end of the training, participants will be able to:

Pre-requisite

Familiarity with at least one other programming language. Programming experience

Duarion

5 days

Course Outline

  • Platform and tools
  • A bit of history
  • Functions
  • Case distinction and pattern matching
  • Layout
  • Control structures (if, case, let, where)
  • Basic types
  • Simple function types
  • Polymorphism
  • Higher order functions
  • Custom types
  • Numbers in Haskell
  • Type classes
  • IO handling
  • Module system
  • Packages and libraries
  • Compiling applications
  • Eight queens puzzle in Haskell
  • Dynamic programming and memoization in Haskell
  • Simplified parsing of CSV files
  • An HTTP client
  • Functor
  • Applicative
  • Foldable, Traversable
  • Monads
  • Other
  • Algebraic data types in depth
  • Advanced Type classes
  • Type families
  • GADTs
  • Strictness in data types and functions
  • Memory and CPU profiling
  • Efficient data structures
  • Note on “unsafes”
  • Memory layout in GHC
  • Unpacking strict fields
  • Understanding and reading Core
  • Haskell threads
  • MVars and co.
  • STM
  • Parallelism
  • FFI basics
  • Safe vs. unsafe
  • Globals in Haskell
  • Splicing and quotation
  • The Q monad
  • Reification

Reviews