Simple elixir library to define composable FSM as function
(not related at all with :gen_fsm
, no state/process management).
- define FSM with handler modules defining each transition as a simple function but using a
macro
deftrans
which creates a functionfsm
returning the fsm transition map for this handler module. deftrans
has the same semantic as erlang in memory FSM gen_fsm- combine together multiple fsm handlers to create a "meta" FSM.
- send event with the function
event
which simply find the right handler, execute the handler function.
See in in code documentation