Haskell packages
1,000 in Packages and libraries, most used first. Page 1 of 5.
-
text An efficient packed, immutable Unicode text type (both strict and lazy). The Text type represents Unicode character strings, in a time and
-
aeson A JSON parsing and encoding library optimized for ease of use and high performance. To get started, see the documentation for the Data.Aeso
-
hashable This package defines a class, Hashable, for types that can be converted to a hash value. This class exists for the benefit of hashing-based
-
network This package provides a low-level networking interface. Other packages provide higher level interfaces: connection hookup network-simple
-
primitive
-
semigroups In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative binary operation. A semigroup general
-
mtl MTL is a collection of monad classes, extending the transformers package, using functional dependencies for generic lifting of monadic actio
-
unordered-containers
-
attoparsec A fast parser combinator library, aimed particularly at dealing efficiently with network protocols and complicated text/binary file formats.
-
conduit conduit is a solution to the streaming data problem, allowing for production, transformation, and consumption of streams of data in constant
-
QuickCheck QuickCheck is a library for random testing of program properties. The programmer provides a specification of the program, in the form of pro
-
random This package provides basic pseudo-random number generation, including the ability to split random number generators. In pure code, use Sys
-
lens This package comes "Batteries Included" with many useful lenses for the types commonly used from the Haskell Platform, and with tools for au
-
vector . An efficient implementation of Int-indexed arrays (both mutable and immutable), with a powerful loop optimisation framework . . It is stru
-
dlist List-like types supporting O(1) append and snoc operations.
-
scientific
-
parsec Parsec is designed from scratch as an industrial-strength parser library. It is simple, safe, well documented (on the package homepage), ha
-
ansi-terminal ANSI terminal support for Haskell: allows cursor movement, screen clearing, color output, showing or hiding the cursor, and changing the tit
-
transformers-compat This package includes backported versions of types that were added to transformers in transformers-0.5 for users who need strict transformer
-
warp HTTP/1.0, HTTP/1.1 and HTTP/2 are supported. For HTTP/2, Warp supports direct and ALPN (in TLS) but not upgrade. API docs and the README ar
-
pandoc Pandoc is a Haskell library for converting from one markup format to another. The formats it can handle include light markup formats (many
-
tagged Haskell 98 phantom types to avoid unsafely passing dummy arguments.
-
Cabal The Haskell Common Architecture for Building Applications and Libraries: a framework defining a common interface for authors to more easily
-
http-client Hackage documentation generation is not reliable. For up to date documentation, please see: http://www.stackage.org/package/http-client.
-
stm Software Transactional Memory, or STM, is an abstraction for concurrent communication. The main benefits of STM are composability and modula
-
transformers
-
exceptions Extensible optionally-pure exceptions.
-
blaze-builder This library allows to efficiently serialize Haskell values to lazy bytestrings with a large average chunk size. The large average chunk siz
-
syb This package contains the generics system described in the Scrap Your Boilerplate papers (see http://www.cs.uu.nl/wiki/GenericProgramming/SY
-
zlib This package provides a pure interface for compressing and decompressing streams of data represented as lazy ByteStrings. It uses the zlib C
-
resourcet Hackage documentation generation is not reliable. For up to date documentation, please see: http://www.stackage.org/package/resourcet.
-
hlint HLint gives suggestions on how to improve your source code.
-
void A Haskell 98 logically uninhabited data type, used to indicate that a given term should not exist.
-
yaml README and API documentation are available at https://www.stackage.org/package/yaml
-
monad-control This package defines the type class MonadBaseControl, a subset of MonadBase into which generic control operations such as catch can be lifte
-
utf8-string
-
semigroupoids Provides a wide array of (semi)groupoids and operations for working with them. A Semigroupoid is a Category without the requirement of iden
-
blaze-html
-
tls
-
bifunctors Bifunctors.
-
hspec
-
http-conduit Hackage documentation generation is not reliable. For up to date documentation, please see: http://www.stackage.org/package/http-conduit.
-
transformers-base This package provides a straightforward port of monadLib's BaseM typeclass to transformers.
-
comonad Comonads.
-
cereal
-
async
-
haskell-src-exts Haskell-Source with Extensions (HSE, haskell-src-exts) is a standalone parser for Haskell. In addition to standard Haskell, all extensions i
-
lifted-base lifted-base exports IO operations from the base library lifted to any instance of MonadBase or MonadBaseControl. Note that not all modules
-
base64-bytestring This package provides support for encoding and decoding binary data according to base64 (see also RFC 4648) for strict and lazy ByteStrings
-
git-annex git-annex allows managing files with git, without checking the file contents into git. While that may seem paradoxical, it is useful when de
-
nats Natural numbers.
-
data-default-class
-
HTTP
-
optparse-applicative optparse-applicative is a haskell library for parsing options on the command line, and providing a powerful applicative interface for compos
-
persistent Hackage documentation generation is not reliable. For up to date documentation, please see: http://www.stackage.org/package/persistent.
-
blaze-markup
-
mmorph
-
haskoin-store
-
profunctors Profunctors.
-
contravariant Contravariant functors.
-
streaming-commons Provides low-dependency functionality commonly needed by various streaming data libraries, such as conduit and pipes.
-
wai-extra Provides basic WAI handler and middleware functionality: WAI Testing Framework Hspec testing facilities and helpers for WAI. Event Source
-
cabal-install The 'cabal' command-line program simplifies the process of managing Haskell software by automating the fetching, configuration, compilation
-
free Free monads are useful for many tree-like structures and domain specific languages. If f is a Functor then the free Monad on f is the type
-
data-default
-
distributive Distributive functors -- Dual to Traversable
-
regex-base This package does not provide the ability to do regular expression matching. Instead, it provides the type classes that constitute the abstr
-
http-types Types and functions to describe and handle HTTP concepts. Including "methods", "headers", "query strings", "paths" and "HTTP versions".
-
ansi-wl-pprint This is a pretty printing library based on Wadler's paper "A Prettier Printer". It has been enhanced with support for ANSI terminal colored
-
tf-random
-
case-insensitive The module Data.CaseInsensitive provides the CI type constructor which can be parameterised by a string-like type like: String, ByteString,
-
cpphs Cpphs is a re-implementation of the C pre-processor that is both more compatible with Haskell, and itself written in Haskell so that it can
-
cmdargs This library provides an easy way to define command line parsers. Most users will want to use the System.Console.CmdArgs.Implicit module, wh
-
HUnit HUnit is a unit testing framework for Haskell, inspired by the JUnit tool for Java, see: http://www.junit.org.
-
split A collection of various methods for splitting lists into parts, akin to the "split" function found in several mainstream languages. Here is
-
yesod-core API docs and the README are available at http://www.stackage.org/package/yesod-core
-
data-default-instances-old-locale
-
data-default-instances-containers
-
unix-compat
-
data-default-instances-dlist
-
texmath The texmath library provides functions to read and write TeX math, presentation MathML, and OMML (Office Math Markup Language, used in Micro
-
reflection This package addresses the configuration problem which is propagating configurations that are available at run-time, allowing multiple confi
-
base-compat Provides functions available in later versions of base to a wider range of compilers, without requiring you to use CPP pragmas in your code.
-
safe A library wrapping Prelude/Data.List functions that can throw exceptions, such as head and !!. Each unsafe function has up to four variants,
-
cookie Hackage documentation generation is not reliable. For up to date documentation, please see: https://www.stackage.org/package/cookie.
-
conduit-extra The conduit package itself maintains relative small dependencies. The purpose of this package is to collect commonly used utility functions
-
purescript A small strongly, statically typed programming language with expressive types, inspired by Haskell and compiling to JavaScript.
-
binary Efficient, pure binary serialisation using lazy ByteStrings. Haskell values may be encoded to and from binary formats, written to disk as bi
-
happy Happy is a parser generator for Haskell. Given a grammar specification in BNF, Happy generates Haskell code to parse the grammar. Happy wo
-
hakyll
-
parallel
-
tagsoup TagSoup is a library for parsing HTML/XML. It supports the HTML 5 specification, and can be used to parse either well-formed XML, or unstruc
-
polyparse A variety of alternative parser combinator libraries, including the original HuttonMeijer set. The Poly sets have features like good error
-
x509
-
fast-logger A fast logging system for Haskell
-
cryptohash DEPRECATED: this library is still fully functional, but please use cryptonite for new projects and convert old one to use cryptonite. This i
-
temporary
-
extra A library of extra functions for the standard Haskell libraries. Most functions are simple additions, filling out missing functionality. A f
-
asn1-types
-
network-uri This package provides facilities for parsing and unparsing URIs, and creating and resolving relative URI references, closely following the U
-
http-client-tls Hackage documentation generation is not reliable. For up to date documentation, please see: https://www.stackage.org/package/http-client-tls
-
hspec-core
-
socks Socks proxy (version 5) implementation.
-
regex-posix The POSIX regex backend for regex-base. The main appeal of this backend is that it's very lightweight due to its reliance on the ubiquitous
-
wai Provides a common protocol for communication between web applications and web servers. API docs and the README are available at http://www.
-
byteable Abstract class to manipulate sequence of bytes The use case of this class is abstracting manipulation of types that are just wrapping a byt
-
xml-conduit Hackage documentation generation is not reliable. For up to date documentation, please see: http://www.stackage.org/package/xml-conduit.
-
pem
-
x509-validation
-
tasty Tasty is a modern testing framework for Haskell. It lets you combine your unit tests, golden tests, QuickCheck/SmallCheck properties, and an
-
xml
-
regex-tdfa This package provides a pure Haskell "Tagged" DFA regex engine for regex-base. This implementation was inspired by the algorithm (and Master
-
connection Simple network library for all your connection need. Features: Really simple to use, SSL/TLS, SOCKS. This library provides a very simple a
-
alex Alex is a tool for generating lexical analysers in Haskell. It takes a description of tokens based on regular expressions and generates a Ha
-
mime-types API docs and the README are available at http://www.stackage.org/package/mime-types.
-
yesod API docs and the README are available at http://www.stackage.org/package/yesod
-
hspec-discover
-
zip-archive The zip-archive library provides functions for creating, modifying, and extracting files from zip archives. The zip archive format is docume
-
cryptonite A repository of cryptographic primitives. Symmetric ciphers: AES, DES, 3DES, CAST5, Blowfish, Twofish, Camellia, RC4, Salsa, XSalsa, ChaCha
-
x509-store
-
egison An interpreter for Egison, a **pattern-matching-oriented**, purely functional programming language with a static type system. We can directl
-
asn1-encoding
-
x509-system
-
base-orphans base-orphans defines orphan instances that mimic instances available in later versions of base to a wider (older) range of compilers. base-o
-
uniplate Uniplate is library for writing simple and concise generic operations. Uniplate has similar goals to the original Scrap Your Boilerplate wor
-
pandoc-types
-
data-default-instances-base
-
persistent-template Hackage documentation generation is not reliable. For up to date documentation, please see: http://www.stackage.org/package/persistent-templ
-
memory Chunk of memory, polymorphic byte array management and manipulation A polymorphic byte array abstraction and function similar to strict Byt
-
mwc-random This package contains code for generating high quality random numbers that follow either a uniform or normal distribution. The generated nu
-
yesod-auth API docs and the README are available at http://www.stackage.org/package/yesod-auth
-
SHA
-
shake Shake is a Haskell library for writing build systems - designed as a replacement for make. See Development.Shake for an introduction, includ
-
integer-logarithms Math.NumberTheory.Logarithms and Math.NumberTheory.Powers.Integer from the arithmoi package. Also provides GHC.Integer.Logarithms.Compat an
-
entropy A mostly platform independent method to obtain cryptographically strong entropy (RDRAND, urandom, CryptAPI, and patches welcome) Users looki
-
ghc-paths
-
monad-logger See README and Haddocks at https://www.stackage.org/package/monad-logger
-
clock
-
asn1-parse
-
kan-extensions Kan extensions, Kan lifts, various forms of the Yoneda lemma, and (co)density (co)monads.
-
MonadRandom
-
process
-
shelly Shelly provides convenient systems programming in Haskell, similar in spirit to POSIX shells. Shelly: is aimed at convenience and getting t
-
JuicyPixels This library can load and store images in PNG,Bitmap, Jpeg, Radiance, Tiff and Gif images. [Index] [Quick Jump] Enable the file loading
-
simple-sendfile
-
directory This library provides a basic set of operations for manipulating files and directories in a portable way.
-
extensible-exceptions
-
http2
-
generic-deriving This package provides functionality for generalising the deriving mechanism in Haskell to arbitrary classes. It was first described in the p
-
hslua HsLua provides wrappers and helpers to bridge Haskell and Lua. It builds upon the lua package, which allows to bundle a Lua interpreter wit
-
th-abstraction This package normalizes variations in the interface for inspecting datatype information via Template Haskell so that packages and support a
-
tar This library is for working with ".tar" archive files. It can read and write a range of common variations of archive format including V7, PO
-
setenv
-
colour This package provides a data type for colours and transparency. Colours can be blended and composed. Various colour spaces are supported. A
-
esqueleto esqueleto is a bare bones, type-safe EDSL for SQL queries that works with unmodified persistent SQL backends. Its language closely resemble
-
old-locale
-
adjunctions Adjunctions and representable functors.
-
snap-server Snap is a simple and fast web development framework and server written in Haskell. For more information or to download the latest version, y
-
hspec-expectations
-
either Combinators for working with sums.
-
vault A vault is a persistent store for values of arbitrary types. It's like having first-class access to the storage space behind IORefs. . The d
-
system-filepath High-level, byte-based file and directory path manipulations (deprecated).
-
file-embed Use Template Haskell to read a file or all the files in a directory, and turn them into (path, bytestring) pairs embedded in your Haskell co
-
cipher-aes
-
prelude-extras
-
shakespeare
-
haskeline
-
wai-logger
-
unix-time
-
snap-core Snap is a simple and fast web development framework and server written in Haskell. For more information or to download the latest version, y
-
ghc-mod ghc-mod is a backend program to enrich Haskell programming in editors. It strives to offer most of the features one has come to expect from
-
old-time
-
persistent-sqlite
-
mono-traversable Please see the README at https://www.stackage.org/package/mono-traversable
-
containers
-
vector-algorithms
-
hscolour
-
uuid-types
-
wai-app-static API docs and the README are available at http://www.stackage.org/package/wai-app-static.
-
criterion This library provides a powerful but simple way to measure software performance. It consists of both a framework for executing and analysin
-
digest
-
tidal Tidal is a domain specific language for live coding patterns.
-
base16-bytestring This package provides support for encoding and decoding binary data according to base16 (see also RFC 4648) for strict (see Data.ByteString.
-
yesod-form API docs and the README are available at http://www.stackage.org/package/yesod-form. Third-party packages which you can find useful: yesod-
-
highlighting-kate highlighting-kate is a syntax highlighting library with support for nearly one hundred languages. The syntax parsers are automatically gener
-
trifecta A modern parser combinator library with slicing and Clang-style colored diagnostics For example:
-
statistics This library provides a number of common functions and types useful in statistics. We focus on high performance, numerical robustness, and
-
linear Types and combinators for linear algebra on free vector spaces
-
brick Write terminal user interfaces (TUIs) painlessly with brick! You write an event handler and a drawing function and the library does the rest
-
crypto-pubkey-types
-
hoogle Hoogle is a Haskell API search engine, which allows you to search many standard Haskell libraries by either function name, or by approximate
-
cprng-aes Simple crypto pseudo-random-number-generator with really good randomness property. Using ent, a randomness property maker on one 1Mb sample
-
bytestring An efficient compact, immutable byte string type (both strict and lazy) suitable for binary or 8-bit character data. The ByteString type re
-
vty vty is terminal GUI library in the niche of ncurses. It is intended to be easy to use and to provide good support for common terminal types.
-
quickcheck-io
-
securemem
-
websockets
-
crypto-api
-
StateVar This package contains state variables, which are references in the IO monad, like IORefs or parts of the OpenGL state.
-
yesod-bin See README.md for more information