Skip to content

Haskell (9.2.5)

Haskell is a general purpose programming language. It is unique in being both very principled in its design (pure functions only, simple syntax, very expressive types), but also practical (heavily-engineered compiler that can generate fast code).

  • Pros: highly modular code, low boilerplate, easy and safe refactoring
  • Cons: no manual memory management, some gaps in ecosystem

Salient properties include:

Try it online

Get set up

How to use this guide

If you're totally new to Haskell, we recommend reading through the tabs at the top of the page from the left to the right.

Feel free also to use this guide as a reference. For example, you can search the docs like so if you need a quick example of how to use a certain construction like case.

Ask questions about pages you don't understand via the Comments section at the bottom of each page.


This documentation is a personal project, and not official Haskell documentation. Contributions are encouraged, by submitting a PR. See here for a style guide.

Haskell Version

This guide is written for series 9 of the Glasgow Haskell Compiler (GHC). Almost all the content is applicable to older versions, but if in doubt, use GHC 9.2.5.

Last update: February 12, 2023
Created: January 7, 2023