Invariants: A Better Debugger? - Marc's Blog
Like many of my blog posts, this started out as a long email to a colleague. I expanded it here because I thought folks might find it interesting.
Hasnain says:
I found this interesting and kept nodding along - not just cause I worked on something called Invariant Detector. Programs need to have a model of the world and using invariants helps me get the machines to check my work. It’s hard to imagine programming without them.
“Invariants are a powerful tool for reasoning about algorithms, data structures, and distributed systems. It's worth thinking through a set of invariants for any complex system or algorithm you design or implement. It's also worth building your implementation in such a way that even global invariants can be easily tested in a deterministic and repeatable way.”
Posted on 2023-09-02T14:10:56+0000