Recommended Haskell libraries
Mirrored from the Haskell section of FP Complete’s site: original URL (offline), Wayback Machine copy.
We recommend using rio as a standard library for Haskell. This provides a coherent set of libraries providing data structures and common practices, while removing some warts like partial functions.
rio provides the following common needs out of the box by reexporting existing best-practices libraries:
- String types: use
ByteStringfor binary data andTextfor textual data. For more information, see the String Types tutorial - Packed memory representations via the vector library
- Map and Set data types via the containers library
- External process interaction via the typed-process library
- Concurrency via Software Transactional Memory and the async library
Outside of rio
rio intends to act as a standard library, but does not include many common pieces of functionality to avoid bloating its footprint. Other common libraries are:
- hspec for testing
- conduit for streaming data
- http-client for making HTTP requests
- Yesod for creating HTTP servers and web applications
Beyond libraries
We recommend checking out our Haskell best practices for further information on how we recommend writing Haskell code.