Commit graph

9 commits

Author SHA1 Message Date
Vincent Ambo
183ee2accc fix(core): Ensure FSM state can be created from backend state ref
The action interpreter can not own the backend state, hence it must be
possible to create the required state from a reference to the
backend's state.
2018-12-13 13:39:16 +01:00
Vincent Ambo
1a90856ba4 feat(core): Add serde trait bounds to FSM types
These are required by multiple backend implementations, and any
attempt at making them optional will result in less appreciable APIs.
2018-12-13 12:24:41 +01:00
Vincent Ambo
8c5ab60ac3 chore: Fix email address in Cargo files 2018-11-19 13:51:14 +01:00
Vincent Ambo
6ff56f860b feat(core): Add a trait representing backend implementations
First version of a trait to abstract over backend implementations.

Currently the different backends still have a bit of specific
behaviour, but it should be possible to boil this down to a single
trait.

The primary question that is still open is how to best deal with the
interpretation of actions, as it is sort of up to the backend to
decide how to do that.
2018-10-24 08:50:53 +02:00
Vincent Ambo
37590ae0f6 feat(core): Add associated 'Error' type to FSM trait
Adds an associated 'Error' type that can be returned by actions when
an interpretation fails.
2018-09-26 23:05:50 +02:00
Vincent Ambo
fe97c712cc docs: Add rustdoc header lines as expected by the format
These are rendered in the rustdoc crate overview sidebar.
2018-09-26 18:04:28 +02:00
Vincent Ambo
965574913e docs(core): Fix rustdoc syntax in several places 2018-09-26 18:02:55 +02:00
Vincent Ambo
c03e14758f fix(core): Add missing 'FSM_NAME' associated constant
This one got lost while moving from the prototype code to the proper
library.
2018-09-26 16:54:06 +02:00
Vincent Ambo
da66599696 feat(core): Check in Finito core library
The implementation of this library is closely modeled after the core
abstraction in the Haskell library. This does not at all concern
itself with persistence, interpretation of effects and so on.
2018-09-26 16:54:00 +02:00