On this page
Haskell libraries Web scotty servant - DSL for describing, serving, querying, mocking, documenting web applications and more.WAI - Interface between Haskell web frameworks and web servers.Twain - Tiny web application framework for WAI. (Building a bulletin board using twain and friends ) (Bulletin board code )Mu - Purely functional framework for building micro services.Hydra - Full-fledged framework for building web services, multithreaded and concurrent applications with SQL and KV DB support.Obelisk - Provides an easy way to develop and deploy your Reflex project for web and mobile. (Web )type-of-html - High performance type safe html generation.EulerHS - Free monadic framework for easy building backend and console applications in Haskell.websockets - Haskell library for creating WebSocket-capable servers.haskell-wasm - Haskell WebAssembly Toolkit.Morpheus GraphQL - Haskell GraphQL API, Client and Tools.http-streams - Haskell HTTP client library for use with io-streams.Reflex-DOM - Web applications without callbacks or side-effects.immortal - Small library to create threads that never die.retry - Retry combinators for monadic actions that may fail.jose - Haskell JOSE and JWT library.network-wait - Lightweight Haskell library for waiting on networked services to become available.Biscuit - Haskell libraries providing support for the Biscuit auth toolkit.network - Low-level networking interface.OpenAPI Code Generator - Generate Haskell client code from an OpenAPI 3 specification.groundhog - PostgreSQL, MySQL, and SQLite with ultimate type safety.Hasql - Performant PostgreSQL driver with a flexible mapping API.PostgreSQL ORM - Haskell ORM (Object Relational Mapping) and migrations DSL for PostgreSQL.Squeal - Deep embedding of SQL in Haskell.persistent - Persistence interface for Haskell allowing multiple storage methods.hssqlppp - SQL parser and type checker in haskell.Beam - Type-safe, non-TH Haskell relational database library and ORM.PG-Entity - PostgreSQL database layer that does not get in your way.Haskell PostgreSQL-typed - Haskell PostgreSQL library with compile-time type inference.sqlite-simple - Mid-level bindings for sqlite.pool - Fast Haskell library for managing medium-lifetime pooled resources, such as database connections.acid-state - Add ACID guarantees to any serializable Haskell data structure.oso - Haskell bindings to the Polar query engine and Oso authorization library.haskell-relational-record - Includes a joined query generator based on typefull relational algebra, and mapping tools between SQL values list and Haskell record type.HieDb - Generates a references DB from .hie files.PostgreSQL Binary - Encoders and decoders for the PostgreSQL's binary format.Rel8 - Haskell library for interacting with PostgreSQL databases.Test Hedgehog - Modern property-based testing system, in the spirit of QuickCheck. (Web )Hedgehog Classes - API for testing common typeclass laws quickly.QuickCheck - Library for random testing of program properties.Validity - Validity and validity-based testing.sydtest - Experimental testing framework for Haskell with great defaults advanced testing features.Tasty - Modern and extensible testing framework for Haskell.StrictCheck - Property-based random testing framework for observing, specifying, and testing the strictness behaviors of Haskell functions.Hspec - Testing Framework for Haskell.generic-random - Generic random generators to implement Arbitrary instances for QuickCheck.Higher-order QuickCheck - QuickCheck extension for properties of higher-order values.checkers - Check properties on standard classes and data structures.cabal-doctest - Setup.hs helper for doctest running.Inspection Testing - GHC plugin allows you to embed assertions about the intermediate code into your Haskell code, and have them checked by GHC.CLI Haskeline - Haskell library for line input in command-line programs.unbeliever - Library for writing command-line applications, be they tools or long-running daemons.butcher - Chops a command or program invocation into digestable pieces.vty - High-level ncurses alternative written in Haskell.Error eio - IO with Exceptions tracked on the type-level.on-error - Clearly-delineated error-handling.annotated-exception - Provides a special AnnotatedException type which allows you to decorate Haskell exceptions with additional information.safe-exceptions - Safe, consistent, and easy exception handling.Errata - Extremely customizable error pretty printer that can handle many kinds of error formatting.type-errors-pretty - Combinators for writing pretty type errors easily.Graphics Threepenny-GUI - GUI framework that uses the web browser as a display.Monomer - Easy to use, cross platform, GUI library for writing Haskell applications.haskell-chart - 2D charting library.hylogen - GLSL embedded in Haskell.convoluted - Dependently typed convolutional neural networks.Easytensor - Many-dimensional type-safe numeric ops.HLearn - Homomorphic machine learning.Vehicle - Toolkit for enforcing logical specifications on neural networks.Math arithmoi - Number theory: primes, arithmetic functions, modular computations, special sequences.vector-sized - Exports a newtype tagging the vectors from the vector package with a type-level natural representing their size.Statistics - Fast, high quality library for computing with statistics in Haskell.Data.Scientific - Arbitrary-precision floating-point numbers represented using scientific notation.Carnap - Formal logic framework that runs in the browser.Crypto lol - Functional Lattice Cryptography.haskell-crypto - High-level cryptography for Haskell.hage - Simple, modern and secure file encryption tool, format, and library.Other generic-lens - Generically derive traversals, lenses, and prisms.freer-simple - Friendly effect system for Haskell.Capability - Extensional capabilities and deriving combinators.Req - Easy-to-use, type-safe, expandable, high-level HTTP client library.silica - Haskell optics with type errors useful enough to teach people.aeson - Fast Haskell JSON library.proto-lens - API for protocol buffers using modern Haskell language and library patterns.dynamic - Dynamic typing in Haskell.free - Provides a common definitions for working with free monads, free applicatives, and cofree comonads in Haskell.inline-js - Run JavaScript in Haskell.fused-effects - Fast, flexible, fused effect system for Haskell.concat - Compiling to Categories.polysemy - Higher-order, no-boilerplate, zero-cost monads.optics - Family of Haskell packages make it possible to define and use Lenses, Traversals, Prisms and other optics, using an abstract interface.Duckling - Haskell library that parses text into structured data.Esqueleto - Bare bones, type-safe EDSL for SQL queries that works with unmodified persistent SQL backends.Selda - Type-safe, high-level SQL library for Haskell.Hasktorch - Tensors and neural networks in Haskell.eff - Work-in-progress implementation of an extensible effect system for Haskell, a general-purpose solution for tracking effects at the type level and handling them in flexible ways.hmatrix - Linear algebra and numerical computation.Alex - Lexical analyser generator for Haskell. (Code )Megaparsec - Industrial-strength monadic parser combinator library. (Megaparsec tutorial )containers - Assorted concrete container types.relude - Safe, performant, user-friendly and lightweight Haskell standard library.hypertypes - Types parameterised by hypertypes.propagators - The Art of the Propagator.Blarney - Haskell library for hardware description that builds a range of HDL abstractions on top of a small set of core circuit primitives.Clay - CSS preprocessor as embedded Haskell.Repline - Haskeline wrapper for GHCi-like REPL interfaces.pretty-simple - Pretty printer for Haskell data types that have a Show instance.Scalpel - High level web scraping library for Haskell.ByteString - Fast, Packed Strings of Bytes.in-other-words - Higher-order effect system where the sky's the limit.prolens - Profunctor based lightweight implementation of Lenses.stm - Software Transactional Memory.stm-incremental - Exposes an interface for incremental computation using software transactional memory in Haskell.Reanimate - Haskell library for building declarative animations based on SVG graphics.Streamly - Beautiful Streaming, Concurrent and Reactive Composition.poly - Fast polynomial arithmetic in Haskell.jsonifier - Fast and simple JSON encoding toolkit.Path - Support for well-typed paths in Haskell.Yaya - Yet another yet another recursion scheme library in Haskell.Happy - Parser generator for Haskell.massiv - Efficient Haskell Arrays featuring Parallel computation.json-to-haskell - In goes JSON, out comes Haskell.unliftio - MonadUnliftIO typeclass for unlifting monads to IO.json-autotype - Takes a JSON format input, and generates automatic Haskell type declarations.domain - Focused domain model declaration toolkit for Haskell.Synchron - Synchronous reactive concurrent programming DSL for Haskell.microlens - Tiny part of the lens library with no dependencies.Yoda - Small parser combinator library.Conduit - Framework for dealing with streaming data.store - Fast binary serialization in Haskell.Earley - Parsing all context-free grammars using Earley's algorithm in Haskell.algebra - Constructive abstract algebra in Haskell.primitive - Provides various primitive memory-related operations for Haskell.refined - Refinement types with static and runtime checking.Row-Types - Haskell library for open records and variants using closed type families and type literals.distributed-closure - Serializable closures for distributed programming.hindent - Haskell pretty printer.Katip - Structured logging framework for Haskell.Linear base - Standard library for linear types in Haskell.bifunctors - Haskell 98 bifunctors, bifoldables and bitraversables.directory-contents - Recursively build a tree of directory contents, avoiding symlink cycles.Foundation - Base foundational Haskell modules.early - Add early return to any monad.discrimination - Fast linear time sorting and discrimination for a large class of data types.haskell-src - Library for manipulating Haskell source code.Profunctors - Haskell 98 Profunctors.MemoTrie - Functional library for creating efficient memo functions, using tries.Kernmantle - Braiding extensible effects together in a pipeline/workflow of tasks.essence-of-live-coding - General purpose and type safe live coding framework in Haskell. (Tutorial )Higgledy - Higher-kinded data via generics.hal - Runtime environment for Haskell applications running on AWS Lambda.machines - Demand driven input sources like pipes or conduits, but can support multiple inputs.refinery - Refinement proof framework for haskell.linear-logic - Encodes a version of intuitionistic linear logic on top of linear Haskell.Parsec - Monadic parser combinator library.what-it-do - Automatically trace all (showable) binds in do expressions.Pretty - Haskell Pretty-printer library.Hypertypes - Generic programming for heterogeneous recursive types.laop - Linear Algebra of Programming - Algebraic Matrices in Haskell.Category-Syntax - Do-notation for Category and "Arrow without arr".PariPari - Fast parser combinator library for Haskell.Diagrams-Lib - Standard library for diagrams, a Haskell embedded domain-specific language for compositional, declarative drawing.named - Named parameters (keyword arguments) for Haskell.recursion-schemes - Represents common recursion patterns as higher-order functions.QuickSpec - Equational laws for free.What4 - Symbolic formula representation and solver interaction library.foldl - Composable, streaming, and efficient left folds.extensible - Extensible records, variants, structs, effects, tangles.hint - Runtime Haskell interpreter.volpano-smith - Compile-time privacy enforcing language embedded in Haskell.Souffle-haskell - Haskell bindings for the Souffle datalog language.stm-actor - Implementation of the actor model in Haskell using STM.higher-order-unification - Small implementation of higher-order unification.ghc-source-gen - Library for generating Haskell source files and code fragments.computational-algebra - General-Purpose Computer Algebra System as an EDSL in Haskell.spectacle - Embedded specification language & model checker in Haskell.Hashable - Class for types that can be converted to a hash value.effectful - Easy to use, performant extensible effects library with seamless integration with the existing Haskell ecosystem. (Reddit )drama - Actor library for Haskell.Wai-Routes - Micro web framework for Haskell that focuses on typesafe URLs.Reactive-banana - Library for functional reactive programming in Haskell.Cnoidal - Haskell library for representing, transforming, and live coding music.Persistence - Topological data analysis library for Haskell.predicate-typed - Refinement type library.explainable-predicates - Predicates that can explain themselves.json-syntax - High-performance JSON parser.bytesmith - Parse bytes fast.blanks - Fill-in-the-blanks - A library factoring out substitution from ASTs.cleff - Fast and concise extensible effects.Albatross - Tool for compiling relatively efficient implementations of priority queues.Haskell Protocol Buffers validation-selective - Lightweight pure validation based on Applicative and Selective functors.Display - Typeclass for user-facing output.Witch - Convert values from one type into another.haskell-lockfree - Collection of different packages for CAS based data structures.attoparsec - Fast Haskell library for parsing ByteStrings.uniplate - Haskell library for simple, concise and fast generic operations.Weeder - Application to perform whole-program dead-code analysis.Deli - Performance modeling tool, allowing you to understand and experiment with new designs.Shpadoinkle - Programming model for declarative, high performance user interface. (Episode )structure-kit - Immutable data structures for all kinds of purposes.Casimir - Algebraic Effects in Haskell using Implicit Parameters.lifted-async - Run lifted IO operations asynchronously and wait for their results.Autodocodec - Self(auto)- documenting encoder and decoder.Vinyl - Extensible Records for Haskell.constraints-extras - Convenience functions and template haskell for working with constraints.some - Defines several versions of an existential type 'Some'.rio - Standard library for Haskell.vector - Efficient implementation of Int-indexed arrays (both mutable and immutable), with a powerful loop optimization framework.dejafu - Systematic concurrency testing meets Haskell.Random - Random number library.G2 - Haskell Symbolic Execution Engine.Frames - Data Frames for Haskell.fuzzyfind - Haskell library for fuzzy text search.aeson-typescript - Generate TypeScript definition files from your ADTs.MissingH - Collection of Haskell-related utilities.buffer-builder - Haskell library for efficiently building up buffers.nonempty-containers - Efficient non-empty variants of containers data types, with full API.Beseder - Library for typesafe state machines.Yampa - Functional Reactive Programming domain-specific language for efficient hybrid systems.Dunai - Classic FRP, Arrowized FRP, Reactive Programming, and Stream Programming, all via Monadic Stream Functions.order - Exploring order-theory in Haskell.replace-megaparsec - Stream editing with Haskell Megaparsec parsers.Oath - Composable Concurrent Computation Done Right.sexpresso - Flexible Haskell library for parsing and printing S-Expressions.cassava - CSV parsing and encoding library optimized for ease of use and high performance.one-liner - Constraint-based generics.data-category - Library of categories, with categorical constructions on them.free-functors - Provides free functors that are adjoint to functors that forget class constraints.hashtables - Mutable hash tables for Haskell, in the ST monad.avail - Low-overhead effect management for concrete monads.fakedata - Haskell Library for producing quality fake data.rure - Haskell bindings to Rust's regex library.heidi - Tidy data in Haskell.Clash Protocols - Battery-included library for writing on-chip protocols, such as AMBA AXI and Altera Avalon.range-set-list - Memory efficient sets with continuous ranges of elements. List based implementation.generics-sop - Generic Programming using True Sums of Products.linear-builder - Linear types for linear times.AT - Effective Algebraic Topology in Haskell.debugger-hs - Write your GDB scripts in Haskell.c2hs - Pre-processor for Haskell FFI bindings to C libraries.bytestring-trie - Efficient finite map from (byte)strings to values.unification-fd - Generic functions for single-sorted first-order structural unification.monoidal-containers - Maps using values' monoidal structure during merging.Chronos - Haskell time library focusing on performance.fastsum - Fast open-union type, suitable for 100+ contained alternatives.co-log - Flexible and configurable modern Haskell logging framework.co-log-core - Core types and functions that power the Haskell co-log
implementation.shellmet - Out of the shell solution for scripting in Haskell.summer - Extensible sums and products for Haskell.fresnel - High-powered optics in a small package.pinch - Serialization library for Haskell that provides support for Apache Thrift.gRPC-haskell - Haskell gRPC support.Liquid Fixpoint - Horn Clause Constraint Solving for Liquid Types.time - Haskell time library.unix - POSIX functionality.Functional Graph Library objective - Purely functional objects.boomerang - Library which provides invertible parsing and printing.mustache - Haskell implementation of mustache templates.Flow - Write more understandable Haskell.parameterized-utils - Utilities for using indexed types including containers, equality, and comparison.hkd - Higher-kinded data.Language-ecmascript - Haskell library for parsing, transforming and pretty-printing JavaScript.sparkle - Apache Spark applications in Haskell.eliminators - Dependently typed elimination functions using singletons.typed-process - Alternative API for processes, featuring more type safety.text - Library for space- and time-efficient operations over Unicode text.eff - Implementation of an extensible effect system for Haskell. (Effect semantics zoo ) (Reddit )Scalable records - Library to support efficient compilation of large records (linear in the number of record fields). (Article )record-dot-preprocessor - Preprocessor for a Haskell record syntax using dot.HasCal - Haskell embedding of PlusCal.semirings - Semirings and *-semirings of types in base/haskell-platform.Generic Boltzmann Brain - Template Haskell library which allows its users to automatically generate efficient multi-parametric analytic Boltzmann samplers for algebraic data types.These - Either-or-both data type, with corresponding hybrid error/writer monad transformer.Prettyprinter - Modern, extensible and well-documented prettyprinter.perfect-vector-shuffle - Library for performing shuffles on vectors.cron - Cron data structure and parser for Haskell.schematic - Type-safe JSON spec and validation tool.configurant - Haskell library for loading configuation data from environment variables.hfsnotify - Unified Haskell interface for basic file system notifications.type-eq - Type equality evidence you can carry around.hoopl - Higher-order optimization library.Zip - Efficient library for manipulating zip archives.hermes - Haskell library for fast, memory-efficient decoding of JSON documents using the simdjson C++ library.inline-c pretty-show - Tools for working with derived Show instances in Haskell.Chapelure - Diagnostic library for Haskell.mtl - Monad Transformer Library.doctemplates - Text templating system used by pandoc.Diagnose - Simple library for reporting compiler/interpreter errors.list-transformer - List monad transformer.Shelly - Haskell shell scripting.binary - Efficient, pure binary serialisation using ByteStrings in Haskell.configurator - Haskell library supporting flexible, dynamic file-based configuration.deepseq - Deep evaluation of data structures.binary-parser - Highly-efficient but limited parser API specialised for bytestrings.aeson-quick - Haskell library for quick JSON extractions with Aeson.NoRedInk Haskell libraries fused-effects-th - Template Haskell helpers to avoid effect boilerplate.record - Anonymous records.transformers - Concrete functor and monad transformers.Transformers-Base - Haskell library for lifting actions from the bottom of a monad transformer stack.Registry - Components as records of functions for Haskell.SuperRecord - Supercharged anonymous records.free-accelerate - Data parallel representation for free monads.mason - Builder & IO library.process - Library for dealing with system processes.manifolds - Coordinate-free hypersurfaces as Haskell types.chimera - Lazy infinite compact streams with cache-friendly O(1) indexing and applications for memoization.OpenTelemetry for Haskell (Tweet )binrep - Useful, efficient, precise binary schema modelling in Haskell.log - Structured logging solution.Boltzmann Brain - Haskell library and set of standalone applications meant for random generation of combinatorial structures.Parser combinators - Lightweight package providing commonly useful parser combinators.Hectoparsec - Flexible and powerful parser combinators for Haskell.envparse - Parse environment variables.aeson-match-qq - Declarative JSON matchers.Haskell Paddle - Haskell API for Paddle payments.streaming - Optimized general monad transformer for streaming applications, with a simple prelude of functions.text-show - Efficient conversion of values into Text.k3 - Lightweight structured-concurrency library.PyF - Haskell library for string interpolation and formatting.FFmpeg light - Minimal bindings to the FFmpeg library.YieldFSM - DSL for describing finite state machines in Clash.kan-extensions - Kan extensions, Kan lifts, the Yoneda lemma, and (co)monads generated by a functor.Codec - Easy bidirectional serialization in Haskell.Notes Links