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
- Cryptography & Hashing
- Data Access
- Data Formats
- Data Science
- 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.
- 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.
- The Haskell Platform - a comprehensive, robust development environment for programming in Haskell.
Algorithmics
-
Theorem Provers - Official Website Resources.
-
Algorithm - a collaborative Hackage list.
-
[Algorithm Visualization](http://hackage.haskell.org/packages/#cat:Algorithm Visualization) - a collaborative Hackage list.
-
Algorithms - a collaborative Hackage list.
-
Compression - a collaborative Hackage list.
-
[Formal Languages](http://hackage.haskell.org/packages/#cat:Formal Languages) - a collaborative Hackage list.
-
[Formal Methods](http://hackage.haskell.org/packages/#cat:Formal Methods) - a collaborative Hackage list.
-
Logic - a collaborative Hackage list.
-
[Logic Programming](http://hackage.haskell.org/packages/#cat: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](http://hackage.haskell.org/packages/#cat:Symbolic Computation) - a collaborative Hackage list.
-
[Theorem Provers](http://hackage.haskell.org/packages/#cat: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](http://hackage.haskell.org/packages/#cat: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](http://hackage.haskell.org/packages/#cat: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
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](http://hackage.haskell.org/packages/#cat:Data Mining) - a collaborative Hackage list.
-
Datamining - a collaborative Hackage list.
-
[Image Processing](http://hackage.haskell.org/packages/#cat:Image Processing) - a collaborative Hackage list.
-
[Machine Learning](http://hackage.haskell.org/packages/#cat:Machine Learning) - a collaborative Hackage list.
-
[Machine Vision](http://hackage.haskell.org/packages/#cat:Machine Vision) - a collaborative Hackage list.
-
[Natural Language Processing](http://hackage.haskell.org/packages/#cat:Natural Language Processing) - a collaborative Hackage list.
-
[Pattern Classification](http://hackage.haskell.org/packages/#cat:Pattern Classification) - a collaborative Hackage list.
-
[Pattern Recognition](http://hackage.haskell.org/packages/#cat:Pattern Recognition) - a collaborative Hackage list.
-
Search - a collaborative Hackage list.
-
Statistics - a collaborative Hackage list.
-
[Text Recognition](http://hackage.haskell.org/packages/#cat:Text Recognition) - a collaborative Hackage list.
-
Robotics - a collaborative Hackage list.
Data Structures
-
Data Structures & IO Libraries - Official Website Resources.
-
Advanced Structures - a collaborative Hackage list.
-
[Bit Vectors](http://hackage.haskell.org/packages/#cat:Bit Vectors) - a collaborative Hackage list.
-
Containers - a collaborative Hackage list.
-
[Data Structures](http://hackage.haskell.org/packages/#cat: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](http://hackage.haskell.org/packages/#cat:CLI Tool) - a collaborative Hackage list.
-
Monitoring - a collaborative Hackage list.
Distributed Computing
-
[Distributed Computing](http://hackage.haskell.org/packages/#cat: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](http://hackage.haskell.org/packages/#cat:Game Engine) - a collaborative Hackage list.
GUI
-
Graphical User Interface (GUI) Libraries - Official Website Resources.
-
GUI - a collaborative Hackage list.
-
[User Interfaces](http://hackage.haskell.org/packages/#cat:User Interfaces) - a collaborative Hackage list.
Graphics
Network
Number Theory
- [Number Theory](http://hackage.haskell.org/packages/#cat: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 adn Persistence - Official Website Resources.
-
Testing and Verification - Official Website Resources.
-
CMS - Official Website Resources for Content Management Systems (CMS).
-
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
- 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](http://hackage.haskell.org/packages/#cat:Code Generation) - a collaborative Hackage list.
-
FFI - a collaborative Hackage list.
-
[FFI Tools](http://hackage.haskell.org/packages/#cat: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.
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](http://hackage.haskell.org/packages/#cat: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](http://hackage.haskell.org/packages/#cat: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](http://hackage.haskell.org/packages/#cat: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.
Resources
Websites
- Haskell - Official Website.
- The Haskell Programming Language - Haskell wiki.
- Try Haskell - Haskell Online.
- School of Haskell - Learning Haskell.
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.
- Books & Tutorials
- 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.
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!"
Courses
- Introduction to Functional Programming - Fall 2014 MOOC on edX by DelftX featuring Haskell as the primary language of focus.
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.