Skip to main content

Basics

Getting started with Haskell:

  • What is Haskell?
  • Haskell tooling overview
  • Expressions
  • Type inference
  • Parametric polymorphism and overloading
  • IO and explicit effects
  • Datatypes and functions
  • Pattern matching
  • Lazy evaluation

What is Haskell?

  • Designed by a committee to create a standard lazy and functional language.
  • Haskell 1.0 Report released 1990.
  • Several iterations up to Haskell 98, released 1999.
  • Minor revision of standard in Haskell 2010.
  • A lot of development since then, but primarily outside of the standard, in the Glasgow Haskell Compiler (GHC).

Haskell tooling

GHCi

  • Interactive component shipped with GHC.
  • Use to quickly try out things, evaluate Haskell expressions, obtain (type) information, and test your programs.

Editor (potentially with haskell-language-server)

  • Use to define Haskell modules containing declarations.
  • Test these developments using GHCi again.