Awesome Haskell Overview
A collection of awesome Haskell links, frameworks, libraries and software. Inspired by awesome projects line.
🏠 Home · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor · 😺 krispo/awesome-haskell · ⭐ 2.8K · 🏷️ Programming Languages
Awesome Haskell
An auxiliary list of awesome Haskell links, frameworks, libraries and software. The part of the awesome (⭐229k) projects line.
- Awesome Haskell
- Basics
- Algorithmics
- Audio, Music & Sound
- Category Theory
- Compilers
- Concurrency & Parallelism
- Configuration
- Cryptography & Hashing
- Data Access
- Data Formats
- Data Science
- Data Structures
- Database
- Development Tools
- Documentation
- Distributed Computing
- Editors
- Extensions
- Games
- GUI
- Graphics
- Network
- Number Theory
- Web / Frameworks
- Text Processing
- Messaging
- Languages
- Operating Systems
- Platforms
- Programming
- Science
- Streaming Processing
- Resources
- License
Basics
- Alex - a lexical analyser generator for Haskell.
- Cabal - a system for building and packaging Haskell libraries and programs.
- GHC - the state-of-the-art optimizing native code compiler for Haskell.
- GHCi - a bytecode interpreter and interactive REPL environment for Haskell.
- GHCup - GHCup is the main installer for the general purpose language Haskell.
- Hackage - the Haskell community's central package archive.
- Haddock - a tool for automatically generating documentation from annotated Haskell source code.
- Happy - The Parser Generator for Haskell.
- Hayoo - will search all packages from Hackage, including all function and type definitions.
- Hoogle - a Haskell API search engine, which allows you to search many standard Haskell libraries by either function name, or by approximate type signature.
- hsenv (⭐122) - a tool to create isolated Haskell environments. This allows a project to use a GHC version different of the currently installed.
- Stack (⭐3.8k) - a cross-platform tool to help on building Haskell projects. It includes support to create isolated Haskell environments and to automatically manage the dependencies of a project.
- Stackage (⭐495) - "Stable Hackage," tools for creating a vetted set of packages from Hackage.
Algorithmics
Theorem Provers - Official Website Resources.
Algorithm - a collaborative Hackage list.
Algorithm Visualization - a collaborative Hackage list.
Algorithms - a collaborative Hackage list.
Compression - a collaborative Hackage list.
Formal Languages - a collaborative Hackage list.
Formal Methods - a collaborative Hackage list.
Logic - a collaborative Hackage list.
Logic Programming - a collaborative Hackage list.
Map Reduce - a collaborative Hackage list.
Graphs - a collaborative Hackage list.
Optimization - a collaborative Hackage list.
Simulation - a collaborative Hackage list.
SMT - a collaborative Hackage list for Satisfiability Modulo Theories (SMT).
Symbolic Computation - a collaborative Hackage list.
Theorem Provers - a collaborative Hackage list.
Audio, Music & Sound
Audio, music and sound - official Website Resources.
Audio - a collaborative Hackage list.
Codec - a collaborative Hackage list.
Graphics - a collaborative Hackage list.
Media - a collaborative Hackage list.
Music - a collaborative Hackage list.
Sound - a collaborative Hackage list.
Category Theory
- Adjunctions - a collaborative Hackage list.
- Algebra - a collaborative Hackage list.
- Categories - a collaborative Hackage list.
- Combinators - a collaborative Hackage list.
- Comonads - a collaborative Hackage list.
- Composition - a collaborative Hackage list.
- Computer Algebra - a collaborative Hackage list.
- Constraints - a collaborative Hackage list.
- Functors - a collaborative Hackage list.
- Monad - a collaborative Hackage list.
- Monads - a collaborative Hackage list.
- Semigroups - a collaborative Hackage list.
Compilers
Compilers & Interpreters - Official Website Resources.
Compiler construction, lexing, parsing, pretty printing - Official Website Resources.
Compiler - a collaborative Hackage list.
Compiler Plugin - a collaborative Hackage list.
Compilers/Interpreters - a collaborative Hackage list.
Concurrency & Parallelism
Concurrency & Parallelism - Official Website Info.
Concurrency - a collaborative Hackage list.
Concurrent - a collaborative Hackage list.
Functional Reactive Programming - a collaborative Hackage list.
Parallelism - a collaborative Hackage list.
Concurrency & Parallelism - (Book) Parallel and Concurrent Programming in Haskell
Configuration
- Deiko-config - small typesafe library that uses HOCON (⭐5.8k) config format
- Dhall (⭐837) - A configuration language guaranteed to terminate
- Configurator - A configuration management library which supports automatic, dynamic reloading in response to modifications to configuration files.
Cryptography & Hashing
Cryptography & Hashing - Official Website Resources.
Crypto - a collaborative Hackage list.
Cryptography - a collaborative Hackage list.
Data Access
- Haxl (⭐4.1k) - a library for efficient, concurrent, concise data access.
Data Formats
- JSON - a collaborative Hackage list.
- PDF - a collaborative Hackage list.
- XML - a collaborative Hackage list.
- RSS - a collaborative Hackage list.
Data Science
Linguistics and natural language processing - Official Website Resources.
Robotics - Official Website Resources.
Artificial Intelligence - a collaborative Hackage list.
Argumentations - a collaborative Hackage list.
Classification - a collaborative Hackage list.
Clustering - a collaborative Hackage list.
Data Mining - a collaborative Hackage list.
Datamining - a collaborative Hackage list.
Image Processing - a collaborative Hackage list.
Machine Learning - a collaborative Hackage list.
Machine Vision - a collaborative Hackage list.
Natural Language Processing - a collaborative Hackage list.
Pattern Classification - a collaborative Hackage list.
Pattern Recognition - a collaborative Hackage list.
Search - a collaborative Hackage list.
Statistics - a collaborative Hackage list.
Text Recognition - a collaborative Hackage list.
Robotics - a collaborative Hackage list.
Additional libraries
- m2cgen (⭐2.3k) - A CLI tool to transpile trained classic ML models into a native Haskell code with zero dependencies.
Data Structures
Data Structures & IO Libraries - Official Website Resources.
Advanced Structures - a collaborative Hackage list.
Bit Vectors - a collaborative Hackage list.
Containers - a collaborative Hackage list.
Data Structures - a collaborative Hackage list.
Enumerator - a collaborative Hackage list.
Generics - a collaborative Hackage list.
List - a collaborative Hackage list.
Tree - a collaborative Hackage list.
Vector - a collaborative Hackage list.
Database
Database Interfaces - Official Website Resources.
Database - a collaborative Hackage list.
Development Tools
Development Libraries and Tools - Official Website Resources.
Debug - a collaborative Hackage list.
IDE - a collaborative Hackage list.
Test - a collaborative Hackage list.
Testing - a collaborative Hackage list.
Logging - a collaborative Hackage list.
CLI Tool - a collaborative Hackage list.
Monitoring - a collaborative Hackage list.
Distributed Computing
Distributed Computing - a collaborative Hackage list.
Cloud Haskell - concurrent and distributed programming in Haskell.
Documentation
- Documentation - a collaborative Hackage list.
Editors
- Editors written in Haskell - Official Website Resources.
- editors for Haskell - Official Website Resources.
Extensions
- Extended Haskell - Official Website Resources.
Games
Games - Official Website Resources.
Game - a collaborative Hackage list.
Game Engine - a collaborative Hackage list.
GUI
Graphical User Interface (GUI) Libraries - Official Website Resources.
GUI - a collaborative Hackage list.
User Interfaces - a collaborative Hackage list.
Graphics
Network
Number Theory
- Number Theory - a collaborative Hackage list.
- Numeric - a collaborative Hackage list.
- Numerical - a collaborative Hackage list.
- Math - a collaborative Hackage list.
Web / Frameworks
Web Servers - Official Website Resources.
Web Frameworks - Official Website Resources.
Cloud - Official Website Resources.
Deploy - Official Website Resources.
Libraries - Official Website Resources.
Interfaces to Frameworks - Official Website Resources.
Database and Persistence - Official Website Resources.
Testing and Verification - Official Website Resources.
CMS - Official Website Resources for Content Management Systems (CMS).
IHP: Integrated Haskell Platform - The best way to get started with haskell web dev.
Web - a collaborative Hackage list of frameworks, libraries, ...
Additional libraries
- HTTP (⭐171) - Haskell HTTP package. Supports client-side web programming in Haskell.
- hoauth2 (⭐123) - a lightweight oauth2 haskell binding.
Text Processing
- Pandoc - is a library for converting from one markup format to another, and a command-line tool that uses this library.
Messaging
- SimpleX Chat (⭐2k) - the first chat platform that is 100% private by design - it has no access to your connection graph!
- Stomp - is the Simple (or Streaming) Text Orientated Messaging Protocol. Resources.
- amqp (⭐122) - client library for AMQP servers (currently only RabbitMQ).
- IRC - a collaborative Hackage list for Internet Relay Chat (IRC).
- [IRC Client](http://hackage.haskell.org/packages/#cat:IRC Client) - a collaborative Hackage list.
Languages
Tools for interfacing with other languages - Official Website Resources.
Code Generation - a collaborative Hackage list.
FFI - a collaborative Hackage list.
FFI Tools - a collaborative Hackage list.
HTML - a collaborative Hackage list.
Java - a collaborative Hackage list.
Javascript - a collaborative Hackage list.
LaTex - a collaborative Hackage list.
Lua - a collaborative Hackage list.
Additional languages on top of Haskell
- Fay - a proper subset of Haskell that compiles to JavaScript.
- Idris (⭐3.4k) - A Dependently Typed Functional Programming Language
- Copilot - a (Haskell DSL) stream language for generating hard real-time C code.
- Wasp - a simple language for developing full-stack Javascript web apps with less code (built with Haskell)
Operating Systems
Operating systems and systems programming - Official Website Resources.
BSD - a collaborative Hackage list.
Fedora - a collaborative Hackage list.
Gentoo - a collaborative Hackage list.
Linux - a collaborative Hackage list.
System - a collaborative Hackage list.
Platforms
- .NET - a collaborative Hackage list.
- Apple - a collaborative Hackage list.
- JVM - a collaborative Hackage list.
- Mobile - a collaborative Hackage list.
Programming
Generic Programming - Official Website Resources.
Aspect Oriented Programming - a collaborative Hackage list.
Generic Programming - a collaborative Hackage list.
Logic Programming - a collaborative Hackage list.
Reactive Programming - a collaborative Hackage list.
Visual Programming - a collaborative Hackage list.
Science
Bioinformatics - Official Website Resources.
Mathematics & Physics - Official Website Resources.
Chemistry - a collaborative Hackage list.
Bioinformatics - a collaborative Hackage list.
Finance - a collaborative Hackage list.
Physics - a collaborative Hackage list.
Science - a collaborative Hackage list.
Scientific Simulation - a collaborative Hackage list.
Streaming Processing
- Conduit (⭐845) - a streaming data library. Resources.
- IO-Streams - a collaborative Hackage list.
- Pipes (⭐471) - is a clean and powerful stream processing library that lets you build and connect reusable streaming components. Resources.
- HStreamDB (⭐569) - The streaming database built for IoT data storage and real-time processing.
Resources
Websites
- Haskell - Official Website.
- The Haskell Programming Language - Haskell wiki.
- Try Haskell - Haskell Online.
- School of Haskell - Learning Haskell.
Bloggers
- Neil Mitchell - Neil Mitchell's Haskell Blog.
Community
- Community - Official community resources.
- Stackoverflow
- G+
- Mailing lists
- IRC channels
- Local user groups
- Planet Haskell
- Haskell Communities and Activities Report
Tutorials
Documentation - Official documentation resources.
Learn Haskell - Wiki Learning Resources.
learnhaskell (⭐7.7k) - Haskell Learning (also for non-English speakers).
What I Wish I Knew When Learning Haskell - amazing guide for all kinds of things.
LearnYouHaskell - Learn You a Haskell for Great Good!
Happy Learn Haskell Tutorial - Pain-free, Gradual Haskell Tutorial with cartoon robots!
Revised report - Haskell 98 Language and Libraries. The Revised Report.
H-99 - Ninety-Nine Haskell Problems.
Web Tutorials
Video Tutorials
- Redoing Make - Haskell from Scratch
- Haskell - Code Deconstructed
- Adventures in Haskell - A Calculator
- Sed implementation in Haskell
- LazyCasts
- Haskell Development Workflow Demo
- Learn You a Haskell - Video lectures to accompany the book "Learn You a Haskell for Great Good!"
- Awesome Haskell Videos (⭐33) - Curated list of Haskell talks and tutorials
- IHP Casts Learn to build type-safe web apps with Haskell and IHP
Courses
- Introduction to Functional Programming - Fall 2014 MOOC on edX by DelftX featuring Haskell as the primary language of focus.
- Functional Programming in Haskell - Introductory MOOC to functional programming in Haskell by the University of Glasgow.
- Haskell MOOC - MOOC on functional programming that uses Haskell by University of Helsinki.
Conferences
- ICFP - International Conference on Functional Programming. Youtube channel.
- Conferences - Official list of conferences
- Haskell Symposium 2015
- Haskell Implementors' Workshop 2015
Packages
- Stackage - is a stable source of Haskell packages, "Stable Hackage".
- Hackage - is the Haskell community's central package archive.
- Application & Libraries - Official collections and Guide.
- Hoogle - is a Haskell API search engine, which allows you to search many standard Haskell libraries by either function name, or by approximate type signature.
- Hayoo - will search all packages from Hackage, including all function and type definitions.