Learn Haskell

Welcome to FP Complete's Haskell education hub! This page contains links to content we believe is most helpful in learning to create commercial Haskell software.

In addition to free online learning material, we also offer training coursing at all levels. For more information, see our training page.

Basics

Just getting started with Haskell? We recommend:

Intermediate

Once you know the basics, it's time to solidify your skills. Follow our Applied Haskell syllabus for our recommended set of material. If you'd like a more hands-on training, check out our Haskell Success program.

We also recommend checking out our Haskell best practices.

When you're ready, it's a great idea to try contributing to an open source Haskell project.

Reference

Finished the syllabus, or looking for specific material? Keep reading the rest of this page for a collection of additional reference information. In particular:

Libraries

We've put together a guide to recommended libraries for commercial Haskell development. This is a highly opinionated list based on our experiences. You can also browse libraries available on Stackage.

The following is a list of all library tutorials provided on this site.

aeson
Working with JSON data
async
Asynchronous and Concurrent Programming
binary
Serializing data
conduit
Streaming data
containers
Maps, Sets, and more
gauge
Benchmarking with gauge
hspec
Testing framework
http-client
Making HTTP requests
optparse-applicative
Command line options parsing
rio
The rio standard library
stm
Software Transactional Memory
transformers
Monad transformers
typed-process
Run and interact with child processes
unliftio
Lifting and unlifting IO actions
vector
Efficient Packed-Memory Data Representations
yaml
Parsing and rendering YAML