This repository is filled with articles I have written and needed online for various reasons. Below is a short summary of the articles available publically. The repository may contain files not mentioned below, in which case they're probably unfinished or otherwise not worth reading at this point.
- Algebraic blindness is about how algebraic data types sometimes make Boolean Blindness even more complex.
buildfunction explained, which is an important piece in a popular optimization technique
- Some lazy IO pitfalls
fixfunction, one possible fundamental building block of recursion
- Frequently Brought Up Topics in Freenode's #haskell channel
- Basic Haskell functions written in easily comprehensible
notation. Nice for explaining e.g.
- What I thought was cool about Haskell some time ago. I should update this one day.
- Equality table of Haskell values. (live version)
Created in a time where it seemed to be en vogue to create tables for the
==operator in various languages. Spoiler, it's terribly boring, because it should be.
- How to fix, or avoid fixing, certain warnings
- My Haskell code style and the rationale behind it
- Informal description of class instances gives non-technical descriptions of various common class instances.
- An extensive tutorial on the Hindley-Damas-Milner type inference algorithm
- Lens infix operators cheat sheet provides an overview of what the individual symbols in infix operators of the lens library stand for.
- Löb/Möb is about an interesting, simple, complicated and quirky recursive function.
- Reader instance derived shows how to write the usual
Readermonad instance starting from something readable and comprehensible.
- The second
Functorlaw is redundant
- Tag, don't
typeis about avoiding
typesynonyms, and using
- How to write unmaintainable Haskell, inspired by How to write unmaintainable code
- Useful techniques I've found over the years and haven't seen described elsewhere
- Write yourself a Brainfuck in an hour implements a very simple Brainfuck interpreter in Haskell, with plenty of room to go on afterwards.
- Make macros mean something – readable backwards compatibility with CPP talks about how to define readable macro synonyms for writing backwards compatible libraries.
zipWith constis my favorite Haskell function
Applicative-Monad proposal (AMP) is the original text of the 2013 Applicative-Monad proposal, which was the starting point for Applicative becoming a superclass of Monad in GHC 7.10.
Rules for typeclass laws wasn't proosed yet
The MonadFail proposal is a proposal similar to the AMP, with the goal of removing