A Directory of Haskell Libraries
This is a categorized and annotated directory of available Haskell libraries. This directory is not comprehensive and highly opinionated.
- criterion: statistically accurate benchmarking
Concurrency and Parallelism
- async: higher-level interface over threads, providing e.g. futures
- mysql-simple: a mid-level client library for the MySQL database
- riak: automated storage and conflict resolution
Data Structures and Algorithms
- bytestring: representation for byte strings, including functions for passing byte strings to C code and I/O support.
Maps, Sets, Sequences, Graphs, and Trees
- containers: standard immutable data structures
HashMaps and HashSets
- hashable: type class for data types that can be cached
- unordered-containers: hashing-based containers that are typically faster than their ordered counterparts
- mtl: monads and monad transformers
- ekg: remote monitoring over HTTP
- network: socket and low-level networking support.
- binary: parser and generate arbitrary byte formats
- cassava: convert CSV files to/from Haskell data types
- aeson: parser/serializer to/from Haskell data types
- attoparsec: parser combinator library for creating parser for text formats or mixed binary/text formats, such as HTTP.
- base16-bytestring: base16 encoding/decoding
- base64-bytestring: base64 encoding/decoding
- QuickCheck: random testing of program properties (preferred method)
- HUnit: a unit testing framework for Haskell, inspired by the JUnit tool for Java
- test-framework: framework for grouping, running, and displaying the output of tests
- test-framework-quickcheck2: test-framework test runner for QuickCheck
- test-framework-hunit: test-framework test runner for HUnit