Crem
is a library to create, compose, run and render state machines.
Usually the library should be used following these four steps:
- create several small machines
- compose the machines together to create more complex machines
- execute your machine
- render the topology and the flow of your machine
Notice that throughout the documentation we will work only with pure machines, while crem
itself supports machines performing effects in a context described by a monad m
.