Posts
All the articles I've posted.
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
Well-typed printfs cannot go wrong
Writing a simple parser of type-level symbols in PureScript 0.12
Time travel in Haskell for dummies
Some interesting consequences of lazy evaluation.