Learning Haskell
New York Block chain bros think it’s hip. It’s an abstruse language used by few and understood by fewer… It’s Haskell!
Fresh from functional programming summer school, which was super-fun, I’m jazzed up about Haskell. So, if you are too, here’s a pile of links bigger than the average wiener-roast.
Learning Haskell
- Basics of Haskell, written by Bartosz Milewski in 2013 at School of Haskell
- UPenn CIS 194: Introduction to Haskell in 2 versions from spring 2013 and fall 2016
- Haskell Programming from First Principles
- The Data61 (formerly NICTA) FP course
- Learn you a Haskell
Intermediate
- The Haskell Phrasebook
- What we talk about when we talk about monads by Tomas Petricek
- Lexi King’s Opinionated guide to Haskell in 2018
- Chris Allen’s How to learn Haskell and Functional Education
- Functors, Applicatives, And Monads In Pictures
- Lenses In Pictures
- Your easy guide to Monads, Applicatives, & Functors
- Evgeny Pogrebnyak’s Seven classes on Haskell and a follow-up reading list
- Monad Transformers Step By Step
- Ben Lynn’s Haskell Fan Site
- Standard Ladder of Functional Programming
- Katie Miller on Monads (slides)
- The Haskell WikiBook
- The midnight Monad, a journey to enlightenment
- The Book of Monads by Alejandro Serrano Mena
- Quchen’s articles
Papers
- John Hughs paper Why Functional Programming Matters with talks available on YouTube.
- Monads for Functional Programming, Philip Wadler
- Theorems for free, Philip Wadler
- Applicative programming with effects, McBride and Paterson
- Monoids: Theme and Variations, Brent Yorgey
ML/NLP in Haskell
- Neural Networks, Types, and Functional Programming by Christopher Olah
- Backprop as Functor A compositional perspective on supervised learning
- DataHaskell
- Natural Language Processing for the Working Programmer, Daniël de Kok and Harm Brouwer
Mathematical background
After years of graduate school you may eventually understand functors, applicatives and monads. Trust us. It’s worth it.
Algebra
Category theory
- Seven Sketches in Compositionality: An Invitation to Applied Category Theory
- Category Theory for Programmers, Bartosz Milewski
- The Catsters
- Category Theory: Lecture Notes and Online Books
- Category Theory in Context, Emily Riehl
PLT
- The Software Foundations series is a broad introduction to the mathematical underpinnings of reliable software.