Awesome Haskell ¶
An auxiliary list of awesome Haskell links, frameworks, libraries and software. The part of the awesome projects line.
- [Bloggers](#bloggers)
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.
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.
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.
- 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 - 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.
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.
- 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.
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.