Awesome Haskell
An auxiliary list of awesome Haskell links, frameworks, libraries and software. The part of the awesome 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 - a tool to create isolated Haskell environments. This allows a project to use a GHC version different of the currently installed.
- Stack - 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 - "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 config format
- Dhall - 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 - 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 - 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 - Haskell HTTP package. Supports client-side web programming in Haskell.
- hoauth2 - 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 - 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 - 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 - 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 - a streaming data library. Resources.
- IO-Streams - a collaborative Hackage list.
- Pipes - is a clean and powerful stream processing library that lets you build and connect reusable streaming components. Resources.
- HStreamDB - 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 - 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 - 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.