3 ms·
Coding isn't always the best blueprint. One example: what if you're writing a service that talks to two other internal services and a third-party API? Your code
by hwayne 9y ago
Coding isn't always the best blueprint. One example: what if you're writing a service that talks to two other internal services and a third-party API? Your code might capture what your specific service does, but it doesn't capture the overall design and intent of the complete system. That's one of the places where formal methods like TLA+ excel.
- KirinDave 9y agoYou might be interested in Servant, a haskell library that uses types to capture these high level interactions between components and then validate and even generate clients, documentation, servers, and simulators.
- hwayne 9y agoI definitely would! One thing a lot of people miss in these discussions is that this isn't an either-or, and we should be using multiple different correctness techniques to increase our confidence.