Haskell libraries
Hakyll + Nix template is nice starter.
Web
- Okapi - Micro web framework for Haskell. (Web) (HN)
- 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. (Tutorial)
- 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.
- Yesod - RESTful Haskell web framework built on WAI.
- Snap - Simple and fast web development framework and server written in Haskell.
DB
- 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.
- hedis - Redis client library for Haskell.
- orville - Yet another ORM for haskell.
- PLHaskell - Haskell extension for PostgreSQL that allows embedded Haskell code.
- MongoDB - MongoDB driver for Haskell.
- HDBC - Haskell Database Connectivity.
- hasql-listen-notify - LISTEN/NOTIFY using hasql.
- postgresql-simple - Mid-level client library for accessing PostgreSQL from Haskell.
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.
- Doctest parallel - Test interactive Haskell examples.
- tasty-bench-fit - Benchmark a given function for variable input sizes and find out its time complexity.
CLI
- fortytwo - List of interactive prompt helpers to pimp the UIs of your Haskell programs.
- iris - Haskell CLI Framework supporting Command Line Interface Guidelines.
- 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.
- Oops
- type-errors - Tools for writing better type errors.
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.
- Dear ImGui.hs - Haskell bindings to Dear ImGui, an immediate mode GUI toolkit.
- diagrams - Embedded domain-specific language for declarative vector graphics.
- diagrams-input - Functions to parse several input formats for diagrams.
- codex - Libraries for graphics and font manipulation in Haskell.
- isosurfaces2 - Some isosurfaces using the marching-cubes2 library.
ML
- 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.
- Tensor Safe - Haskell framework to define valid deep learning models and export them to other frameworks like TensorFlow JS or Keras.
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.
- Acts - Haskell library for semigroup actions and torsors.
- HGeometry - Library for computing with geometric objects in Haskell.
- linear - Low-dimensional linear algebra primitives for Haskell.
Crypto
- lol - Functional Lattice Cryptography.
- haskell-crypto - High-level cryptography for Haskell.
- hage - Simple, modern and secure file encryption tool, format, and library.
- Z-Botan - Comprehensive crypto primitives based on botan.
Auth
- jose-jwt - Haskell implementation of JOSE/JWT standards.
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. (Docs) (HN)
- 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. (Intro)
- 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.
- json-stream - Applicative incremental JSON parser for Haskell.
- rec-def - APIs for more recursive definitions.
- memoize - Haskell memoization library.
- mono-traversable - Type classes for mapping, folding, and traversing monomorphic containers.
- hegg - Fast equality saturation in Haskell.
- SILI - Synthesis of Functional Linear Programs.
- type-level-json - RFC 8259 compliant parser for JSON, within the Haskell type system.
- e2-unification - Simple E-unification for second-order syntax.
- zip-codec - Parralel zip reading/writing.
- Sp.Eff - Fast scoped effects with evidence passing.
- odd-jobs - Haskell job queue with admin UI and loads of other features.
- contiguous - Typeclass for array types.
- Apple Array System
- Klister - Partial implementation of a macro expander in which macros can get stuck.
- monoid-subclasses - Subclasses of Monoid with a solid theoretical foundation and practical purposes.
- Grampa - Grammar parser - combinator library for parsing a general context-free grammar.
- mld - Experiment in compositional typings.
- tomland - Bidirectional TOML serialization.
- pqueue - Haskell priority queue package.
- Benign - Library for benign effects in Haskell.
- exceptions - Extensible exceptions that are compatible with the monad transformer library.
- resource-pool - High-performance striped resource pooling implementation for Haskell.
- Open Games - Mathematical structure allowing you to describe game-theoretical games.
- incremental-parser - Haskell parsing combinator liibrary that can be fed the input and emit the parsed output incrementally.
- Validators - Composable validations for your Haskell data types.
- harg - Haskell program configuration using higher kinded data.
- Haskell 2010 stream comonads
- monadoptics - Profunctor optics for the endofunctor category on Hask.
- monad-control - Lift control operations, like exception catching, through monad transformers.
- AMQP - RabbitMQ Client for Haskell.
- repa - High performance, regular, shape polymorphic parallel arrays.
- redis-glob - Checks that glob expressions for use with Redis are valid.
- ldtk-types - Types and Aeson instances for parsing LDtk files.
- QoC - Quite Obfuscated Constructions.
- Monadic Bang - GHC plugin to desugar ! into do-notation.
- Effects Landscape - Effects libraries in Haskell.
- posix-api - Haskell posix bindings.
- Shh - Simple shell like scripting from Haskell.
- StrongPath - Strongly typed file paths in Haskell.
- generic-constructors
- managed - Monad for managed values.
- transitive-anns - Transitively track and reify annotations across a codebase.
- jrec - Anonymous records for busy people.
- svg-tree - SVG loader/serializer for Haskell with a tree type geared toward SVG rendering.
- with-utf8 - Get your IO right on the first try.
- Hi-Fi - Higher kinded records plugin.
- Haggle - Graph library for Haskell.
- Persistent Vector - Persistent vectors for Haskell based on array mapped tries.
- sasha - Staged lexer generator.
- Breadcrumbs - Haskell tracing library.
- FilePath - Functionality for manipulating FilePath values.
- Trial - Trial Data Structure is a Either-like structure that keeps events history inside.
- Overloaded
- Difference Lists - List-like types supporting O(1) append and snoc operations.
- ivar-simple - Write once concurrency primitives.
- monad-metrics - Convenient wrapper and API for using EKG metrics in your application.
- optparse-applicative - Applicative option parser.
- colourista - Convenient interface for printing colorful messages.
- Vector-Algorithms
- JSON-RPC - Fully-featured JSON-RPC 2.0 library for Haskell programs.
- base-orphans - Backwards-compatible orphan instances for base.
- boring - Boring and Absurd types.
- troupe - Haskell Actors.
- crem - Compositional Representable Executable Machines.
- Hagato - Haskell Gamedev Toolkit, a library for developing games from scratch.
- backprop - Heterogeneous automatic differentiation.
- Grisette - Monadic library for symbolic evaluation.
- Stamina - Retrying for humans using Haskell.
- Rhine - Haskell Functional Reactive Programming framework with type-level clocks.
- Fernery - CLI tool for generating images of ferns and other Iterated Function Systems.
- Drasil - Generate all the things (focusing on research software).
- monad-validate - Haskell monad transformer library for data validation.
- composable-path - Typed paths that are composable.
Notes
Links
- Hackage - Haskell Package Repository. (Code)
- Aelve Haskell packages search - Grep over package repositories.
- Monadoc - Better Haskell documentation.
- Stackage - Distribution of compatible Haskell packages from Hackage that build together. (Code)
- pantry - Content addressable Haskell package management, providing for secure, reproducible acquisition of Haskell package contents and metadata.
- Hkgr - Tool for making releases of Haskell packages on Hackage.
- haskell-docs-cli - Allows you to perform Hoogle searches and to navigate Hackage documentation from the command line.
- hs-nix-template - Haskell project template that uses Nix and comes with cabal-install, ghcid, ormolu, haskell-language-server and more.
- Template for Haskell + Nix projects
- hackage-cli - CLI tool for Hackage.
- Haskell Cabal - System for building and packaging Haskell libraries and programs. (Awesome) (Code)
- Awesome Haskell - Awesome Haskell links, frameworks, libraries and software.
- Awesome Haskell 2
- Haskell Development Build Tools using Nix
- nvfetcher - Generate nix sources expr for the latest version of packages.
- Haskell Breaking Changes - List of upcoming/proposed changes to Haskell core/de facto libraries. (HN)
- Immutable Publishing Policy (Tweet)
- implicit-hie - Auto generate a stack or cabal multi component hie.yaml file.
- Haskell Starter-Kit
- haskell.nix extra Hackage - Tool to use custom forks of Hackage packages with haskell.nix.
- init-haskell - Script for setting up Haskell projects with Nix.
- hackage-download - Download all of Hackage.
- Hackage UI - Fresh look for the Hackage. (Code)
- Thoughts on build tooling in Haskell (2022)
- Haskell (Almost) Standard Libraries Book (2022)
- thax - Create haskell tags from nix dependencies.
- Pure Print-Style Debugging in Haskell (2022) (Lobsters)
- Foliage - Tool to create custom Haskell package repositories, in a fully reproducible way.
- hackage-db - Provide access to the Hackage database via Data.Map.
- Introduction to Doctests in Haskell (2022)
- calligraphy - Haskell call graph/source code visualizer.
- Pier - Command-line tool for building Haskell projects.
- Introduction to Haskell Typeclasses (2022)
- AWS Lambda Haskell Runtime
- cabal-extras - Tool suite to aid Haskell development using
cabal-install
. - Doctest - Test interactive Haskell examples.
- Flora - Package index for the Haskell ecosystem. (Server Code) (Twitter)
- Tie - Allows generation of Haskell server stubs from OpenAPI (v 3.x) specifications.
- Chameleon Type Debugger - Tool to make solving type errors in Haskell simple and fun.
- Which type-safe database library should you use? (2019)
- ghc-plugin-non-empty - GHC Plugin for compile-time transformation of list literals to NonEmpty list.
- Servant Template - Modern template for a Servant.
- dr-cabal - CLI tool for profiling Haskell dependencies build times.
- cabal-fmt - Formatting .cabal files.
- Criterion - Powerful but simple library for measuring the performance of Haskell code.
- cabal-hoogle - Generates hoogle database of your local packages and all dependencies.
- Incrementally package a Haskell program using Nix (2022)
- Graphics with Haskell: Reflex (2022)
- Graphics with Haskell: Gloss (2022)
- JSON with Haskell (2022)
- haskell-butler - Library provides a virtual operating system to run your Haskell program.
- Haskell real world example app
- Collection of Practical Haskell bits
- Haskell Multi Nix - Demo of Nixifying a multi-package Haskell project.
- Haskell Message Index - Community-driven collection of documentation for Haskell error messages and warnings.
- SimFormat - Formats Haskell import lists.
- cabal-plan-bounds - Calculate Haskell dependency ranges from multiple build plans.
- haskell-flake - Flake-parts Nix module for Haskell development.
- if-instance - GHC plugin to branch on whether a constraint is satisfied.
- guardian - Border guardian for your Haskell monorepo package dependencies.
- Hakyll + Nix template (Tutorial)
- stacklock2nix - Easily build a Haskell project from a stack.yaml.lock file with Nix.
- Core Haskell Libraries Committee
- hsc2hs - Haskell Pre-processor for C FFI bindings.
- Elastically scalable thread pools in Haskell
- Calling Purgatory from Heaven: Binding to Rust in Haskell (2023) (HN)
- GHCanIUse - GHC language extensions table.
- GHC Language Extensions Compatibility
- Error vs. Exception
- Haskell ESTGi Debugger