Call : (+91) 968636 4243
Mail : info@EncartaLabs.com
EncartaLabs

Haskell

( Duration: 4 Days )

Haskell training course introduces the ideas of Functional Programming and teaches the essential concepts of it, and by this introduces the Haskell programming language. The course explores the fundamental differences with imperative programming and teaches the skill of thinking functionally.

By the end of the program, you will learn all the necessary tools and concepts to start writing and understanding simple Haskell programs.

Programming experience with at least one other programming language.

COURSE AGENDA

1

Introduction to Haskell

  • Platform and tools
  • Hello World program
  • A bit of history
2

Haskell syntax

  • Functions
  • Case distinction and pattern matching
  • Layout (indentation)
  • Control structures (if, case, let, where)
3

Type system

  • Basic types
  • Simple function types
  • Polymorphism
  • Higher order functions
  • Custom types
  • Numbers in Haskell
  • Type classes
4

Building programs

  • IO handling
  • Module system
  • Packages and libraries
  • Compiling applications
5

Examples and case studies

  • Eight queens puzzle in Haskell
  • Dynamic programming and memoization in Haskell
  • Simplified parsing of CSV files
  • An HTTP client
6

Basic Typeclassopedia

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

Advanced types

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

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"
9

Understanding the Runtime System

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

Concurrency in Haskell

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

Foreign Function Interface

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

Template Haskell

  • Splicing and quotation
  • The Q monad
  • Reification

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 6,000 various courses on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting https://www.encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top
Notice
X