Recommended Haskell libraries
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.