Top 10 Most-Used Haskell Packages
This article lists the top 10 most used Haskell packages and summarizes each.
New to Haskell programming? Wondering which Haskell packages will help you get to know the language well? You might be interested to know which are the most popular.
The site revdeps.hackage.haskell.org lists the reverse dependencies of all packages on Hackage. The list can be sorted by a count of direct dependencies.
The top 10 most (directly) depended upon Haskell packages are, as of 26 October 2011, in order, as follows:
- base
- containers
- bytestring
- mtl
- directory
- array
- filepath
- haskell98
- random
- parsec
Here are brief summaries of each package, and a link to the docs for each.
1. base
Contains the functionality for the Prelude and its supporting functions, including modules necessary to implement the Prelude.
2. containers
Contains efficient implementations of various basic immutable container types: Sequence, Set, Map, Tree, Graph.
3. bytestring
Provides an efficient implementation of byte vectors, suitable for high performance use. Bytestrings are encoded as strict Word8 arrays of bytes. Lazy Bytestrings are lazy lists of strict chunks.
4. mtl
= monad transformer library. It provides monad definitions and monad transformers for: Reader, Writer, State, MonadIO, and others. Learn more from Ch. 18 of RWH.
5. directory
Provides a system-independent directory manipulation libary. System.Directory provides functions like getDirectoryContents and removeFile.
6. array
Provides array data types of various sorts: strict, lazy, mutable, immutable, boxed, unboxed.
7. filepath
Provides system-independent manipulation of FilePaths. A FilePath is a data type for representing exactly what you think it does.
8. haskell98
Provides compatibility with the modules of the (outdated) Haskell 98 specification.
9. random
Interesting that a random number library is so important to software development that it appears on the top 10 list.
10. parsec
This is a library of monadic parsing combinators. Learn more in Ch. 16 of RWH. There are many alternatives.
- Robin's blog
- Login to post comments