Posts
All the articles I've posted.
Write your own kernel optimiser
Well-scheduled kernels cannot go wrong*
It's a trap: testing coding agents on a language with surprising semantics
A case study: how coding agents investigate unfamiliar runtime rules, and what an assumptions log changes.
Trait-Constrained Enums in Rust
Updated:Simulating Haskell-style GADTs with phantom witnesses and specialisation.
Announcing generic-optics (& generic-lens 2.0.0.0)
generic-lens gets a new interface.
Opaque constraint synonyms
Hiding internal details of constraint synonyms.
Tripping up type inference
Improving code readability by enforcing type annotations.
Most underrated vim features: C-a
In which I present a hidden gem in the vim text editor.
Global Implicit Parameters
Exploiting GHC internals to define top-level implicit parameters.
Detecting the undetectable: custom type errors for stuck type families
Updated:Stuck type families are notorious for producing puzzling type errors. In this post I present a technique for detecting and reporting them.
Parsing type-level strings in Haskell
A technique for manipulating Symbols in GHC for type-level programming.
Deriving Bifunctor with Generics
Updated:A techinque for approximating Generic2 with only the Generic type class.
Announcing generic-lens 0.5.0.0
Deriving lenses generically