Posts

Wait, this isn’t Haskell…

December 26, 2025

First step in my adventure in writing a library over libcurl, using hs-bindgen.

Tastier Options

December 19, 2025

An exercise in parameterizing tasty test-suites using the CLI.

Functional programmers enter a diner…

October 20, 2025

A fun, I think, thought experiment to avoid concurrency deadlocks by enforcing a fixed, predefined order for acquiring static sets of MVars.

Human-editor interfaces

September 27, 2025

A rambling of thoughts and my experience up till now with text editors.

Can I pet your DAG?

July 29, 2025

Haskell's ordered maps are fun tools to have in any arsenal. In this post I give an example on doing dependency resolution quickly using the partially ordered nature of dependency relations, using an extremely contrived example.

We’re All CHAMPs On The Inside

March 31, 2025

HAMT's are cool, Haskell has a ubiquitous one in unordered-containers. But other languages have the even cooler CHAMPs. This post is about optimizing the filter-ish functions in an attempt at a drop-in replacement that uses CHAMPs.

Harder-Coded Newtypes

October 20, 2024

Newtypes are generally useful to avoid parameter-blindness, but can be cumbersome if each type has it's own wrapper. I explore the use of TypeData as an extended way to improve type safety and reduce developer errors.

…or you can find more in the archives.