Hacker News new | ask | show | jobs
by jhanschoo 2938 days ago
It depends on how tolerant your application is dependent on bugs. I see this as a user-friendly intermediate between mainstream programming and formally-verified programming:

It is easy to see that your program is in one of several states ensure that its state-transition behaviors are consistent with the state transitions you have designed, and it is easy enough to reason about state transitions at a high enough level. On the other hand, it is difficult to reason about the state of multiple asynchronous components. This will help with that.

In addition, when designing a new feature, I can see this helping to decide where would be an appropriate and natural place to tack on the feature.