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.
Just getting started with Haskell? We recommend:
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.
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
- hspec: Testing framework
- http-client: Making HTTP requests
- optparse-applicative: Command line options parsing
- rio: A standard library
- safe-exceptions: Safe and simple exception handling
- 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
- weigh: Memory benchmarking
- yaml: Parsing and rendering YAML
We have the following general tutorials and guides on this site, separate from library-specific documentation.
- All about strictness
- Crash Course to Applicative Syntax
- Applied Haskell 101
- Haskell Best Practices
- Common Typeclasses
- Data Structures
- Data types
- Safe exception handling
- Recommended Haskell libraries
- Monad Transformers
- Mutable variables
- Operator Glossary
- Primitive Haskell
- Profiling and Performance
- How to Build with Stack
- How to Play with Stack
- How to Script with Stack
- String Types
- Synonyms in base
- Web Services