diff options
author | Vincent Ambo <mail@tazj.in> | 2018-09-26T09·34+0200 |
---|---|---|
committer | Vincent Ambo <mail@tazj.in> | 2018-09-26T09·34+0200 |
commit | 6d11928efe83feb9d011cad43418199afa0df319 (patch) | |
tree | 4a48da67773570775ea573cfc873b8a722fb3a1e /README.md | |
parent | bc873b9666a64ee2a5df8a8981878c18d7155563 (diff) |
docs: Add initial README
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 000000000000..5acd67d3bea7 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +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. |