ExFSM
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
deftranswhich creates a functionfsmreturning the fsm transition map for this handler module. deftranshas 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
eventwhich simply find the right handler, execute the handler function.
Usage
See in in code documentation