Why do implementing FSMs give me such a headache?
In theory, they're pretty simple: (state, event) → (new_state, output). Great for processing a series of events, but turn absolutely miserable when you have to make them interact with multiple threads or more traditional styles of programming. They really seem to like being their own little worlds where they don't have deign to interact with the rest of the world.
I'm sure there's got to be a better way to interact with them (such as using methods as your events), but it still feels clunky especially if you still want to keep them nice and data-driven.
In theory, they're pretty simple: (state, event) → (new_state, output). Great for processing a series of events, but turn absolutely miserable when you have to make them interact with multiple threads or more traditional styles of programming. They really seem to like being their own little worlds where they don't have deign to interact with the rest of the world.
I'm sure there's got to be a better way to interact with them (such as using methods as your events), but it still feels clunky especially if you still want to keep them nice and data-driven.