Announcing `crem`

I would like to announce the first release of crem

crem stands for compositional representable executable machines.

It allows defining state machines (Mealy machines in fact), composing them to build bigger machines out of smaller ones and then running them and drawing their flow and their state space.

The repository contains extensive documentation and several examples, including domain modelling with state machines and a terminal-base adventure game.

Please check it out and let me know how it could be improved

16 Likes

A+ for the Mermaid rendering, you should advertise this more. :slight_smile:

3 Likes

State machines don’t get the love they should, this is awesome. I will rewrite and formalize some internal state machines used on an app I wrote.

1 Like

Hi! Nice! Please let me know if you encounter any issue or even any suboptimal thing

1 Like

Do you have any comparison against machines?
Good to see another approach to state machines.
Type safe state transitions are a nice feature (for example hobbitTopology).

1 Like