Re:Solving State Explosion with Petri-Nets and Vector Clocks
by teleclimber on Saturday March 18, 2017 @07:29PM
(#13904062)
Thanks for the reply. My comment was in reference to the Visual Basic Calculator program described here: (perhaps "VBScript" was not accurate)
https://barrgroup.com/Embedded-Systems/How-To/State-Machines...
That VB calculator is shown as an example of "The Problem" with event driven programming, but I just see it as an example of why poorly designed programs are hard to reason about and buggy.
I did not see the coffeescript / Python calculator.
Re:Solving State Explosion with Petri-Nets and Vector Clocks
by orksliver on Saturday March 18, 2017 @07:40PM
(#13904098)
Ah I see - maybe I should find a better article to demonstrate the 'State Explosion' Problem.
I thought you were referring to my live demo: https://bitwrap.github.io/#octothorpe
Just a few comments in response:
> event-based calculator in VBScript
It's mostly coffeescript
> My problem with this is the calculator program is very poorly written.
It's a demo - also the coffeescript is only there to show how the python server works. ( I'll update the docs to explain this better )
> One could probably get rid of most of the bugs by using a "single source of truth" state object that includes all state data necessary for all events to act correctly.
This is in fact what exists -- the "single source of truth" in his case is the python event store - My pooly written UI is only there to forward events server-side.
> But this is largely a solved problem. The React folks developed Flux[0] to get away from these kinds of situations.
Front end UI isn't my focus - building a quality event store is.
I'd love to find other state machine implementations that have similar properties.
Thanks for your post - I know everything is poorly documented - I'll take your criticism as a guide to fixing that.