https://github.com/owickstrom/motor
Type-safe effectful state machines in Haskell
https://github.com/owickstrom/motor
Last synced: 29 days ago
JSON representation
Type-safe effectful state machines in Haskell
- Host: GitHub
- URL: https://github.com/owickstrom/motor
- Owner: owickstrom
- Created: 2017-10-27T14:52:21.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2020-09-13T13:44:11.000Z (over 4 years ago)
- Last Synced: 2025-03-29T13:12:10.535Z (about 2 months ago)
- Language: Haskell
- Size: 102 KB
- Stars: 95
- Watchers: 5
- Forks: 8
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Motor: Type-safe effectful state machines in Haskell
*Motor* is an experimental Haskell library for building finite-state
machines with type-safe transitions and effects. It draws inspiration
from the Idris
[ST](http://docs.idris-lang.org/en/latest/st/state.html) library.## Usage
See the [Motor module documentation on
Hackage](http://hackage.haskell.org/package/motor) for detailed usage.## Packages
* [motor](motor/) — the core of Motor.
* [motor-reflection](motor-reflection/) — reflect on typeclasses
following Motor FSM conventions.
* [motor-diagrams](motor-diagrams/) — use value-representations from
`motor-reflection` to generate diagrams.## Examples
* [Door](motor/examples/Door.hs)
## License
Mozilla Public License Version 2.0, see `LICENSE` file in each
package.