Link: Twenty years of Pandoc

Link: Twenty years of Pandoc An interesting look back at the first twenty years of Pandoc by its creator and maintainer John MacFarlane. If you’re not interested in the history of improvements and evolution of Pandoc, you may still find the discussion on the choice of Haskell interesting. You can read the Prehistory section for why Haskell was chosen and the Retrospective: the choice of Haskell section for a discussion of how well that has gone. ...

August 6, 2026 · Allan Clark

Link - Avoiding space leaks (in Haskell) at all costs

A good blog post on avoiding space leaks in Haskell showed up on my feed today. First of all I think it provides some useful and important advice for Haskell programmers. I think it touches on some of the same issues that I wrote about recently in a post regarding stacks and laziness. The author starts off stating (correctly) that lazy languages are not the norm, nor particularly popular: Haskell is a purely functional lazy programming language. The world doesn’t have a lot of lazy-by-default PLs. In fact, all mainstream languages have eager evaluation models. ...

December 3, 2025 · Allan Clark

Entropic Thoughts: ViewPattern Argument Transform

The Entropic Thoughts blog has a new post: “Non-Obvious Haskell Idiom: ViewPattern Argument Transform” regarding something I didn’t know existed in Haskell, and it touches upon something I’ve written about before so I’d like to say how they are related, and wonder whether this is the correct solution, I don’t have a better one. So first the new feature in Haskell is a “ViewPattern argument transform”. What is one of those? Well suppose you have a function such as: ...

October 8, 2025 · Allan Clark

Needless do notation

Cracking post on the Elm discourse by john_s in response to rupert’s question regarding “intensely monadic code”. In his response john_s details some findings from a review of 300k lines of Purescript/Haskell code: In surveying over 300K lines of PureScript / Haskell code in 4 large applications I believe the most genuinely needed monadic binds I ever saw in any properly sized function was 4 and was 1 on average!!!. In other cases, ...

September 18, 2025 · Allan Clark