Opleiding: Haskell Programming

In the course Haskell Programming from SpiralTrain participants learn to program in the pure functional programming language Haskell.

Haskell Intro

The course starts with an introduction to the basic syntax of Haskell and the main characteristics of the language such as laziness in expression evaluation with a thunk data structure, static typing, modularity and dealing with multiple threads.

Data Types and Operators

Next attention is paid to the data types and operators of the language. Data structures such as lists, tuples and records are also discussed. And exceptions and accessing the file system are also treated.

Functions

Part of the program of the course are the definition and declaration of functions in Haskell with argument lists, pattern matching and guards. Recursive functions, higher order functions and lambda expressions are discussed as well.

Modules

Then the various Haskell modules such as the Prelude, List, Char, Set and Map module are reviewed. And it is explained how user defined modules and packages are created. This also includes the discussion of qualified imports and the global namespace.

Haskell Containers

Finally attention is paid to Haskell containers such as classes, objects, Trees, Binary Trees, Functors and Foldables and the characteristic functional programming concept of monads.

Audience Haskell Programming

The course Haskell Programming course is intended for anyone who wants to learn programming in the functional programming language Haskell.

Prerequisites Course Haskell Programming

In order to participate in this course basic knowledge of programming in another programming language is beneficial to understanding, but is not required.

Realization Training Haskell Programming

The theory is discussed on the basis of presentation slides. The theory is further explained through demos. After discussing a module, there is the possibility to practice. Course times are from 9.30 to 16.30.

Course Certification Haskell Programming

After successful completion of the course, the participants receive an official certificate Haskell Programming.

Modules

Module 1 : Haskell Intro

  • What is Haskell?
  • Functional Programming
  • Evaluation Engine
  • Expression Evaluation
  • Haskells Laziness
  • Thunk Data Structure
  • Haskells Modularity
  • Handling Multiple Threads
  • Static Typing
  • Installing Haskell
  • Haskell Compiler
  • Stack Installer
  • Haskell Platform

Module 2 : Types and Operators

  • Numbers and Characters
  • Strings and Booleans
  • Lists
  • List Comprehensions
  • Tuples
  • Haskell Operators
  • Sequence Operator
  • Control Flow
  • Exceptions
  • Type Class
  • Records
  • Default Values Idiom
  • Files and Streams

Module 3 : Functions

  • Function Declaration
  • Function Names
  • Argument Lists
  • Function Definition
  • Pattern Matching
  • Guards
  • Where Clause
  • Recursion
  • Lambda Expressions
  • Higher Order Functions
  • Head and Tail
  • Null and Init
  • Reverse and Take

Module 4 : Modules

  • Packages and Modules
  • import Statement
  • Prelude Module
  • Global Namespace
  • Qualified Imports
  • List Module
  • Char Module
  • Map Module
  • Set Module
  • Custom Modules
  • Smart Constructors
  • Views

Module 5 : Containers

  • Classes and Instances
  • Maps
  • Sets
  • Trees
  • Binary Trees
  • Graphs
  • Type Classes
  • Built-in Type Classes
  • Polymorphism
  • Functors
  • Foldables
  • Lazy Evaluation

Module 6 : Monads

  • Applicative Functors
  • Monadic Rules
  • Left Identity Law
  • Right Identity Law
  • Associativity
  • Combinators for State
  • Dissecting Combinators
  • do Notation
  • State and Lenses
  • Monad Comprehensions
  • Monoids
  • Zippers
Meer...
€1.999
ex. BTW
Aangeboden door
SpiralTrain
Onderwerp
Programmeren (algemeen)
Niveau
Duur
3 dagen
Looptijd
18 dagen
Taal
en
Type product
cursus
Lesvorm
Klassikaal
Aantal deelnemers
Max: 12
Tijdstip
Overdag
Tijden en locaties
Amsterdam
ma 25 aug. 2025
Eindhoven
ma 25 aug. 2025
Houten
ma 25 aug. 2025
Online
ma 25 aug. 2025
Rotterdam
ma 25 aug. 2025
Zwolle
ma 25 aug. 2025
Amsterdam
ma 27 okt. 2025
Eindhoven
ma 27 okt. 2025
Houten
ma 27 okt. 2025
Online
ma 27 okt. 2025
Rotterdam
ma 27 okt. 2025
Zwolle
ma 27 okt. 2025
Amsterdam
ma 29 dec. 2025
Eindhoven
ma 29 dec. 2025
Houten
ma 29 dec. 2025
Online
ma 29 dec. 2025
Rotterdam
ma 29 dec. 2025
Zwolle
ma 29 dec. 2025
Amsterdam
ma 23 feb. 2026
Eindhoven
ma 23 feb. 2026
Houten
ma 23 feb. 2026
Online
ma 23 feb. 2026
Rotterdam
ma 23 feb. 2026
Zwolle
ma 23 feb. 2026
Amsterdam
ma 27 apr. 2026
Eindhoven
ma 27 apr. 2026
Houten
ma 27 apr. 2026
Online
ma 27 apr. 2026
Rotterdam
ma 27 apr. 2026
Zwolle
ma 27 apr. 2026
Amsterdam
ma 29 jun. 2026
Eindhoven
ma 29 jun. 2026
Houten
ma 29 jun. 2026
Online
ma 29 jun. 2026
Rotterdam
ma 29 jun. 2026
Zwolle
ma 29 jun. 2026
Amsterdam
ma 31 aug. 2026
Eindhoven
ma 31 aug. 2026
Houten
ma 31 aug. 2026
Online
ma 31 aug. 2026
Rotterdam
ma 31 aug. 2026
Zwolle
ma 31 aug. 2026
Amsterdam
ma 26 okt. 2026
Eindhoven
ma 26 okt. 2026
Houten
ma 26 okt. 2026
Online
ma 26 okt. 2026
Rotterdam
ma 26 okt. 2026
Zwolle
ma 26 okt. 2026
Amsterdam
ma 28 dec. 2026
Eindhoven
ma 28 dec. 2026
Houten
ma 28 dec. 2026
Online
ma 28 dec. 2026
Rotterdam
ma 28 dec. 2026
Zwolle
ma 28 dec. 2026
Amsterdam
ma 22 feb. 2027
Eindhoven
ma 22 feb. 2027
Houten
ma 22 feb. 2027
Online
ma 22 feb. 2027
Rotterdam
ma 22 feb. 2027
Zwolle
ma 22 feb. 2027
Amsterdam
ma 26 apr. 2027
Eindhoven
ma 26 apr. 2027
Houten
ma 26 apr. 2027
Online
ma 26 apr. 2027
Rotterdam
ma 26 apr. 2027
Zwolle
ma 26 apr. 2027
Amsterdam
ma 28 jun. 2027
Eindhoven
ma 28 jun. 2027
Houten
ma 28 jun. 2027
Online
ma 28 jun. 2027
Rotterdam
ma 28 jun. 2027
Zwolle
ma 28 jun. 2027
Amsterdam
ma 30 aug. 2027
Eindhoven
ma 30 aug. 2027
Houten
ma 30 aug. 2027
Online
ma 30 aug. 2027
Rotterdam
ma 30 aug. 2027
Zwolle
ma 30 aug. 2027
Amsterdam
ma 25 okt. 2027
Eindhoven
ma 25 okt. 2027
Houten
ma 25 okt. 2027
Online
ma 25 okt. 2027
Rotterdam
ma 25 okt. 2027
Zwolle
ma 25 okt. 2027
Amsterdam
ma 27 dec. 2027
Eindhoven
ma 27 dec. 2027
Houten
ma 27 dec. 2027
Online
ma 27 dec. 2027
Rotterdam
ma 27 dec. 2027
Zwolle
ma 27 dec. 2027
Amsterdam
ma 28 feb. 2028
Eindhoven
ma 28 feb. 2028
Houten
ma 28 feb. 2028
Online
ma 28 feb. 2028
Rotterdam
ma 28 feb. 2028
Zwolle
ma 28 feb. 2028
Amsterdam
ma 24 apr. 2028
Eindhoven
ma 24 apr. 2028
Houten
ma 24 apr. 2028
Online
ma 24 apr. 2028
Rotterdam
ma 24 apr. 2028
Zwolle
ma 24 apr. 2028
Amsterdam
ma 26 jun. 2028
Eindhoven
ma 26 jun. 2028
Houten
ma 26 jun. 2028
Online
ma 26 jun. 2028
Rotterdam
ma 26 jun. 2028
Zwolle
ma 26 jun. 2028
Keurmerken aanbieder
NRTO
UWV scholingsvoucher