I dug through my archives for this and found a version that, while unfortunately not the latest implementation, is close enough to the real thing to show off what Finito did. This is a Postgres-backed state-machine library for complex application logic. I wrote this originally for a work purpose in a previous life, but have always wanted to apply it elsewhere, too. git-subtree-dir: users/tazjin/finito git-subtree-mainline:0380841eb1git-subtree-split:b748117225Change-Id: I0de02d6258568447a14870f1a533812a67127763
		
			
				
	
	
	
	
		
			1,020 B
		
	
	
	
	
	
	
	
			
		
		
	
	Finito
This is a Rust port of the Haskell state-machine library Finito. It is slightly less featureful because it loses the ability to ensure that side-effects are contained and because of a slight reduction in expressivity, which makes it a bit more restrictive.
However, it still implements the FSM model well enough.
Components
Finito is split up into multiple independent components (note: not all of these exist yet), separating functionality related to FSM persistence from other things.
- finito: Core abstraction implemented by Finito
- finito-door: Example implementation of a simple, lockable door
- finito-postgres: Persistent state-machines using Postgres
Note: The finito core library does not contain any tests. Its
coverage is instead provided by the finito-door library, which
actually implements an example FSM.
These are split out because the documentation for finito-door is
interesting regardless and because other Finito packages also need an
example implementation.