Arrow
is more thanStrong
andCategory
Several people have claimed that Haskell’s
Arrow
class is exactly the intersection ofCategory
andStrong
, but this argument ignores theArrow
laws. I demonstrate a type which is has lawful instances ofStrong
andCategory
which cannot be made into anArrow
in a consistent way. (2017-07-18)- More on Free Applicative Functors
Since free applicative functors are free, does that mean they are monads over indexed types? Also, can we squeeze out any more performance? (2013-06-12)
- Prompt Monads are Free
A brief look at
Prompt
monads, showing that they are free monads, thatPrompt
is a monad over indexed types, and how it can be used to build composable components. (2013-06-07) - Free Applicative Functors in Haskell
Can we find a way to make an applicative functor for any type constructor? It turns out, methods are already known—but I didn’t know that when I started, so I found my own way. One that turns out to have much better performance. (2013-05-27)
- Parameterized monads vs monads over indexed types
Parameterized monads are a known way of extending the monadic interface. As an alternative, Conor McBride suggested using monads over indexed types. How do these approaches compare? (2012-07-29)
- Syntax highlighting for Haskell in BBEdit 8.0
I’ve put together a Codeless Language Module for BBEdit 8.0 that implements basic syntax highlighting for Haskell. (2004-08-31)
- Category extras
The Haskell package no one demanded! (2004-07-26)