Courses & TutorialsProgramming
Awesome Haskell – Massive Collection of Resources
- Summary
- Basics
- Algorithmics
- Audio, Music & Sound
- Category Theory
- Compilers
- Concurrency & Parallelism
- Configuration
- 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 – 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.
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).
- 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 – 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.
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.
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!”
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.
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.
Best Practices
Tags
Haskell