Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tweag/awesome-learning-haskell

A collection of resources which were useful to Tweagers for learning Haskell and its various aspects
https://github.com/tweag/awesome-learning-haskell

List: awesome-learning-haskell

Last synced: 2 days ago
JSON representation

A collection of resources which were useful to Tweagers for learning Haskell and its various aspects

Awesome Lists containing this project

README

        

# awesome-learning-haskell

A collection of resources which were useful to Tweagers for learning Haskell and its various aspects

- [General resources](#general-resources)
- [Books](#books)
- [Videos](#videos)
- [Specific topics](#specific-topics)
- [Category theory](#category-theory)
- [Dependent types](#dependent-types)
- [Deriving](#deriving)
- [Design patterns](#design-patterns)
- [Extensions](#extensions)
- [Functional programming](#functional-programming)
- [Functors, applicatives and monads](#functors-applicatives-and-monads)
- [Generic programming](#generic-programming)
- [IO](#io)
- [Optics](#optics)
- [Parser combinators](#parser-combinators)
- [Performance](#performance)
- [Profunctors](#profunctors)
- [String types](#string-types)
- [Traps and pitfalls](#traps-and-pitfalls)

## General resources

### Books

- [Algebra-Driven Design](https://leanpub.com/algebra-driven-design) by [Sandy Maguire](https://reasonablypolymorphic.com/)
- [Haskell in Depth](https://www.manning.com/books/haskell-in-depth) by [Vitaly Bragilevsky](https://twitter.com/VBragilevsky)
- [Haskell Programming from first principles](https://haskellbook.com/) by [Christopher Allen](https://twitter.com/bitemyapp) and [Julie Moronuki](https://twitter.com/argumatronic)
- [Learn Haskell by building a blog generator](https://lhbg-book.link/) by [Gil Mizrahi](https://twitter.com/_gilmi)
- [Programming in Haskell](https://www.cs.nott.ac.uk/~pszgmh/pih.html) by [Graham Hutton](https://twitter.com/haskellhutt)
- [The simple Haskell handbook](https://marcosampellegrini.com/simple-haskell-book) by [Marco Sampellegrini](https://twitter.com/_alpacaaa)
- [Thinking with Types](https://thinkingwithtypes.com/) by [Sandy Maguire](https://reasonablypolymorphic.com/)

### Videos

- [C9 Lectures: Erik Meijer - Functional Programming Fundamentals](https://docs.microsoft.com/en-us/shows/c9-lectures-erik-meijer-functional-programming-fundamentals/)

## Specific topics

### Category theory

- [Category theory for programmers](https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface/) by [Bartosz Milewski](https://twitter.com/BartoszMilewski)
- [Programming with categories](https://www.youtube.com/playlist?list=PLhgq-BqyZ7i7MTGhUROZy3BOICnVixETS) by [Topos Institute](https://topos.site/)

### Dependent types

- [An introduction to typeclass metaprogramming](https://lexi-lambda.github.io/blog/2021/03/25/an-introduction-to-typeclass-metaprogramming/) by [Alexis King](https://twitter.com/lexi_lambda)
- [Introduction to Singletons](https://blog.jle.im/entries/series/+introduction-to-singletons.html) by [Justin Le](https://twitter.com/mstk)

### Deriving

- [Deriving](https://kowainik.github.io/posts/deriving) by [Veronika Romashkina](https://twitter.com/vrom911) and [Dmitrii Kovanikov](https://twitter.com/ChShersh/)

### Design patterns

- [The handle pattern](https://jaspervdj.be/posts/2018-03-08-handle-pattern.html) by [Jasper Van der Jeugt](https://twitter.com/jaspervdj)
- [The service pattern](https://www.schoolofhaskell.com/user/meiersi/the-service-pattern) by Simon Meier

### Extensions

- [Overview of all language extensions](https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/table.html)

### Functional programming

- [What's Functional Programming All About](https://www.lihaoyi.com/post/WhatsFunctionalProgrammingAllAbout.html)

### Functors, applicatives and monads

- [Functors, Applicatives, And Monads In Pictures](https://adit.io/posts/2013-04-17-functors,_applicatives,_and_monads_in_pictures.html) by [Adit Bhargava](https://twitter.com/_egonschiele)

### Generic programming

- [An introduction to typeclass metaprogramming](https://lexi-lambda.github.io/blog/2021/03/25/an-introduction-to-typeclass-metaprogramming/) by [Alexis King](https://twitter.com/lexi_lambda)
- [Datatype-generic programming](https://www.youtube.com/watch?v=pwnrfREbhWY) by [Andres Löh](https://twitter.com/kosmikus)

### IO

- [Input and Output](http://learnyouahaskell.com/input-and-output)
- [Introduction to IO](https://wiki.haskell.org/Introduction_to_IO)
- [Introduction to Haskell IO](https://www.haskellforall.com/2013/01/introduction-to-haskell-io.html) by [Gabriella Gonzales](https://twitter.com/GabriellaG439)
- [Introduction to Haskell IO/Actions](https://wiki.haskell.org/Introduction_to_Haskell_IO/Actions)

### Optics

- [Don't Fear the Profunctor Optics](https://github.com/hablapps/dontfeartheprofunctoroptics) by [Jesús López-González](https://twitter.com/jeslg)
- [Optics By Example](https://leanpub.com/optics-by-example) by [Chris Penner](https://twitter.com/chrislpenner)

### Parser Combinators

- [Megaparsec Tutorial](https://markkarpov.com/tutorial/megaparsec.html) by [Mark Karpov](https://markkarpov.com/)

### Performance

- [Parallel and Concurrent Programming in Haskell](https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/) by [Simon Marlow](https://twitter.com/simonmar)

### Profunctors

- [Deconstructing Lambdas—An Awkward Guide to Programming Without Functions](https://www.youtube.com/watch?v=xZmPuz9m2t0) by [Chris Penner](https://twitter.com/chrislpenner)

### String types

- [Eat Haskell String Types for Breakfast](https://free.cofree.io/2020/05/06/string-types/) by Ziyang Liu
- [Haskell String Types](https://www.alexeyshmalko.com/2015/haskell-string-types/) by Alexey Shmalko
- [String types](https://www.fpcomplete.com/haskell/tutorial/string-types/) by [FPComplete](https://twitter.com/FPComplete)
- [Untangling Haskell's Strings](https://mmhaskell.com/blog/2017/5/15/untangling-haskells-strings) by [Monday Morning Haskell](https://twitter.com/HaskellMonday)

### Traps and pitfalls

- [Asynchronous Exception Handling in Haskell](https://www.fpcomplete.com/blog/2018/04/async-exception-handling-haskell/) by [Michael Snoyman](https://twitter.com/snoyberg)
- [Haskell's Dangerous Functions](https://github.com/NorfairKing/haskell-dangerous-functions) by [Tom Sydney Kerckhove](https://twitter.com/kerckhove_ts)