Fork me on GitHub
Drew Verlee04:02:56

Contrasting that with another lib: Which seems to make returning to states a bit more explicit (not sure if thats better or worse).


@drewverlee you never "return" to "previous" states


you at state 'x' and the allowed transitions are 'y' and 'z'


if you are in a cycle, there is no ordering


you always move forward


the only exceptions are the entry point and the end/final state

Drew Verlee13:02:56

@ivan.kanak_clojurians maybe i’m using the wrong terminology, if you look at the graph above i’m not sure how else to describe :error taking someone to 0. I think its probably correct to say its not the same ‘state’.


Going from (2) to (0) is a move forward, even if it feels like (0) is "before" (1). It is not "before", but a prerequisite state to get to (1). You never go backwards, you never take back the fact that you got to (2) through (1). You are always progressing, and the progressions happen by choosing one of the available/valid transitions. Following the transitions you always move forward.


Pushdown automata have local state you can bang on, sorta