Haskell Resources

Learning Haskell has become easier, mainly because of the vast amount of tutorials out there; however finding the right ones might be a difficult task. This list aims to easen the burden of learning Haskell, by pointing you towards resources which I think are important.

A Haskell Reading List

Author: Stephen Diehl
Type: Reading List
Description: This list was inspired by Stephen Diehl’s
Tags: Everything
Link: A Haskell Reading List

Demystifying Haskell

Author: Andrew Rademacher
Type: Video / Tech talk
Description: Great introduction to Haskell for beginners, focusing on why the language is good. Touches upon thinking functionally, and comparing speed of code written in Haskell vs C.
Tags: Haskell, Performance
Link: Demystifying Haskell

Learn You a Haskell for Great Good!

Author: Miran Lipovača
Type: Book / web pages
Description: Best Haskell beginner book. Don’t look away thinking it’s just a beginner book, the book progresses from really simple examples to super complicated theorems.
Tags: Book
Link: Learn you a Haskell

Tackling the awkward squad

Author: Simon Peyton Jones
Type: PDF - Research Paper
Description: Imperative programming in Haskell
Tags: Monadic IO, concurrency, exceptions, FFI
Link: Tackling the awkward squad

Typeclassopedia

Author: Brent Yorgey
Type: Wiki article
Description: Haskell Type system.
Tags: Types, Monoids, Monads, Functors
Link: Typeclassopedia

Beautiful concurrency

Author: Simon Peyton Jones
Type: PDF - Research Paper
Description: Describes STM in Haskell
Tags: STM, concurrency
Link: Beautiful concurrency

Gausian distributions form a monoid

Author: Mike Izbicki
Type: Blog post
Description: Explains how HLearn uses Category Theory to get theorems for free.
Tags: Machine Learning, Category Theory
Link: Guassian distributions are monoids

Haskell arrays are amazing

Author: Sean Hunter
Type: Blog post
Description: Understanding the need for arrays.
Tags: Arrays
Link: Arrays are amazing

Solving Verbal Arithmetic Problems efficiently

Author: Justin Le
Type: Blog post
Description: Solving the send+more=money problem using StateT
Tags: StateT
Link: Send More Money

Functors, Applicatives, And Monads In Pictures

Author: Adit
Type: Blog post
Description: Understanding applications of functions in contexts through pictures.
Tags: Functors, Applicatives, Monads
Link: FAMIP

A Gentle Introduction to Monad Transformers

Author: Chris
Type: Github Markdown File
Description: Understanding the transformers library, and why Monad Transformers are useful.
Tags: Monad Transformers
Link: Monad Transformers

Hole driven development in Haskell

Author: Matthew Brecknell
Type: Video
Description: Exploiting types to help you write programs.
Tags: Types, GHCi
Link: Hole driven development

The Haskell Heap

Author: Edward Z. Yang
Type: Blog posts
Description: A series of blog posts explaining under-the-hood performance optimizations.
Tags: Performance, GHC
Link: The Haskell Heap

Why the Curry-Howard isomorphism matters

Author: Philip Wadler
Type: Video Talk
Description: Philip Wadler explaining the Curry-Howard isomorphism with other general things.
Tags: Typed Lambda Calculus, History
Link: Propositions as Types

Stop Treading Water: Learning to Learn

Author: Edward Kmett
Type: Video Talk
Description: Not really a technical talk, but it’s a nice talk in general.
Tags: History
Link: Stop Treading Water

From Semigroup to Bind

Author: João Cristóvão
Type: Blog post
Description: An explanation of the semigroupoids package.
Tags: Category Theory
Link: From Semigroup to Bind

The Hitchhiker’s Guide to Morphisms

Author: Jonathan Brachthäuser
Type: Blog post
Description: Cheat sheet of recursion schemes
Tags: Category Theory
Link: The Hitchhiker’s Guide to Morphisms

Why Category Theory matters

Author: Robb Seaton
Type: Blog post
Description: List of practical applications of Category Theory
Tags: Category Theory
Link: Why Category Theory matters