Copyright | (c) Max Amanshauser 2016 |
---|---|
License | MIT |
Maintainer | max@lambdalifting.org |
Safe Haskell | None |
Language | Haskell2010 |
- type Transitions s e a = (s, e) -> (s, [a])
- type Effects a = Msg a -> IO Bool
- data FSMTable s e a = FSMTable {
- transitions :: Transitions s e a
- effects :: Effects a
Documentation
type Transitions s e a = (s, e) -> (s, [a]) Source #
type Effects a = Msg a -> IO Bool Source #
Effects are wrapped in Msgs so that the effects function can access the msgId. This is useful when the effects function sends messages of its own, because it can reuse the msgId, thereby creating a message chain with the same Id. Doing so extends guarantees to the receiving FSM.
FSMTable | |
|