awesome-haskell
github.com/albohlabs/awesome-haskell ↗A curated list of amazingly awesome Haskell articles and talks for beginners.
Use this list with your AI agent
Add the Context Awesome MCP server to Claude, Cursor, or any MCP client, then ask:
"Show me monad transformers resources from awesome-haskell"
Installation instructions →What's inside
Packages
- A Gentle Introduction to Monad TransformersMonad Transformers
- containers: Maps, Sets, and more
implementation of some of the most commonly used containers used in programming
- Demystifying MonadBaseControl
provide a complete survey of MonadBaseControl - how it works, how it’s designed, and how it can go wrong
- Effectful Haskell: Reader, Transformers, TypeclassesMonad Transformers
- Next Level MTL - George Wilson - BFPG 2016-06Monad Transformers
George Wilson - BFPG 2016-06
- State monad comes to help sequential pattern matchingMonad Transformers
combine monadic effects of StateT and Either to parse a list of values
Resources
- A Glossary of Functional Programming
- A list of Haskell articles on good design, good testing
- How to learn Haskell
a recommended path for learning Haskell based on experience helping others
- Learning Haskell
places where you can go if you want to learn Haskell
- Software Design and Architecture in Haskell
set of materials on how to build real-world applications in Haskell
- The Haskell Cheatsheet
references for syntax, concepts and advanced types
Testing
- An example of state-based testing in Haskell
... with the State monad
- Mocking Effects using Constraints and Phantom Data Kinds
writing multiple 'interpreters' for your monad stacks using mtl-style constraints
Base
- An opinionated guide to Haskell in 2018
overview of a few select parts of the Haskell workflow and the ecosystem
- Arrows Zoo
overview of the arrow syntax
- Data61 fp-course
Functional Programming Course
- Fix(ity) me
terminology and functionality around operator usages
- Foo to Bar: Naming Conventions in Haskell
- Functors, Applicatives, And Monads In Pictures
Design Patterns
- Comonadic builders
Implement the Builder programming pattern using Comonad
- Designing Testable Components
- Functional architecture is Ports and Adapters
Ports are your IO code and sit at the edge of the system. The core consist of pure functions.
- Haskell Design Patterns: The Handle Pattern
- holmusk/three-layer
Architecture of the Haskell web applications
- The ReaderT Design Pattern
large-scale application or library application design architecture
Advanced
- Contravariant functors are Weird
- Generalized algebraic data types
learn why GADTs are useful and how to declare your own
- Haskell programming tips
several examples of how code can be improved
- Haskell Style Guide
a collection of best-practices inspired by commercial and free open source Haskell libraries and applications
- Introduction to Tagless Final
an introduction to tagless final encoding
- Video series by Richard Eisenberg
share some brain-bending code, debug in public, and generally provide flashes of insight
Algorithm
- Fast Sudoku Solver in Haskell #1: A Simple Solution
- JSON Parsing from Scratch in Haskell
Write a json parser from scratch
- JSON Parsing from Scratch in Haskell: Error Reporting—Part 1
Tracking position with text zipper
Examples
- GSoC 2019 - Building A Web Application with Haskell
Building A Web Application with Haskell
- Guide to Implementing Custom Monadic Effects in Issue-Wanted
- kowainik/issue-wanted
Building A Web Application with Haskell
Showing a sample of 51 resources. View the full list on GitHub →