3 Comments
User's avatar
Michel Laevens's avatar

That was a good read. I'm just learning Automata and Graph Theory. I scanned the GitHub but I need to explore more... I don't enter the conversation because I don't feel I have enough experience to bring a relevant argument. I didn't know what .sm was...

Paul Tarvydas's avatar

Actually, ‘.sm’ is my off-the-cuff invention. I simply thought to myself “what is the minimum that I would want to say to specify a state machine?”. I wrote a “minimum” program down, without worrying about it. I knew that I could use T2T techniques to turn it into whatever I needed. I think that state machine ideas are being (unfairly) pushed aside due to the way current languages work. Other languages for specifying state machines that I am aware of include “Stately” (davidkpiano, https://stately.ai) and xstate (https://xstate.js.org). Maybe the best intro to state machines is Harel’s original paper on StateCharts (https://guitarvydas.github.io/2023/11/27/Statecharts-Papers-We-Love-Video.html).

Michel Laevens's avatar

Thank you for for clarifying and for the additional references.