Terms and Truth-Conditions
Experiments with writing Haskell with Aider
LSP: the good, the bad, and the ugly
Why is defunctionalization good?
The Second Sex
The unconscious scammer
Partially evaluating CPP macros in Haskell codebases
Everything Everywhere All At Once
Lenses for Tree Traversals Redux
On Commenting Code
Four lenses on the upsides of bad behaviour
Elementary programming
Why doesn’t software project management handle risk better?
Your orphan instances are probably fine
Lenses for Tree Traversals
Shark curiosity
Calling it a day
Post-consequentialist agents
Moderating technological progress: a bitter pill
Alexander Technique, maybe
Notebook posts