A curated list of amazingly awesome Haskell articles and talks for beginners.
If you think a article/talk should be added, please create a new issue.
- Learning Haskell - places where you can go if you want to learn Haskell
- How to learn Haskell - a recommended path for learning Haskell based on experience helping others
- A list of Haskell articles on good design, good testing
- Software Design and Architecture in Haskell - set of materials on how to build real-world applications in Haskell
- A Glossary of Functional Programming
- The Haskell Cheatsheet - references for syntax, concepts and advanced types
- You are already smart enough to write Haskell
- State of the Haskell ecosystem - the current state of the Haskell ecosystem
- Why Functional Programming Matters
- What I Wish I Knew When Learning Haskell
- Learn You a Haskell: A community version - a complete introductory to intermediate guide on learning Haskell focused on beginners (an open-source community maintained version)
- 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
- Foo to Bar: Naming Conventions in Haskell
- Fix(ity) me - terminology and functionality around operator usages
- 🔈 Data61 fp-course - Functional Programming Course
- Typeclassopedia - a starting point for the student of Haskell wishing to gain a firm grasp of its standard type classes
- Functors, Applicatives, And Monads In Pictures
- The wizard monoid
- Phantom type
- Strategic Deriving - overview of the deriving mechanism
- Parse, don’t validate - parse inputs -> create types -> ruling out invalid states
- 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
- Generalized algebraic data types - learn why GADTs are useful and how to declare your own
- Introduction to Tagless Final - an introduction to tagless final encoding
- Contravariant functors are Weird
- 🔈 Video series by Richard Eisenberg - share some brain-bending code, debug in public, and generally provide flashes of insight
- Demystifying MonadBaseControl - provide a complete survey of MonadBaseControl - how it works, how it’s designed, and how it can go wrong
- containers: Maps, Sets, and more - implementation of some of the most commonly used containers used in programming
- A Gentle Introduction to Monad Transformers
- 🔈 Next Level MTL - George Wilson - BFPG 2016-06
- The State Monad: A Tutorial for the Confused?
- State monad comes to help sequential pattern matching - combine monadic effects of StateT and Either to parse a list of values
- Effectful Haskell: Reader, Transformers, Typeclasses
- Haskell Design Patterns: The Handle Pattern
- 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.
- The ReaderT Design Pattern - large-scale application or library application design architecture
- Three Layer Haskell Cake - application design architecture with roughly three layers
- holmusk/three-layer - Architecture of the Haskell web applications
- 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
- Fast Sudoku Solver in Haskell #1: A Simple Solution
- kowainik/issue-wanted - web application follows Three Layer Cake architecture pattern
- 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