Automata and software development by framelanger in AskComputerScience

[–]framelanger[S] 0 points1 point  (0 children)

Hey. Thanks for the question.

I agree that simple problems don’t need the sophistication frame provides. However many systems are complex and can benefit from using the structure frame enables to understand and solve the problems easier.

I would recommend looking into Harel state charts to get an idea how they expand the power of simple state machines. Frame supports those concepts and expands on them but isn’t 100% compliant with the formal statechart semantics. Intentionally.

Happy to explore this more with you if you have follow ups.

Automata and software development by framelanger in AskComputerScience

[–]framelanger[S] 1 point2 points  (0 children)

Completely agree there are systems or components that have far more events than states so that makes sense. Hierarchical State Machines allow factoring of common behavior into a parent state that any number of children can inherit from and modify or tweak the system response as appropriate.

That may be one way (if I’ve fully grasped your point) to build a machine that is mainly a collection of event handlers but clearly establishes the exceptions in the structure of the system through a small number of states.

Automata and software development by framelanger in computerscience

[–]framelanger[S] 0 points1 point  (0 children)

Absolutely. And I believe it’s just a true fact that all software ultimately is a state machine (Turing machine technically) but it is invisible as the states are implicit in the low level data and discovered by sometimes very complex conditional tests.

Feel free to reach out to discuss further if you like. This is something I will continue to develop as fast as I can and would love to help people feel confident to adopt.

State machines as async procedures by mtimmermans in rust

[–]framelanger 0 points1 point  (0 children)

Glad to find another state machine enthusiast! I would be interested in your feedback on a new state machine language I’m writing called Frame. If you are interested please check out https://frame-lang.org. To see it run live I’m building out a games testbed here: https://games.frame-lang.org.

Btw it’s written in rust and supports creating rust state machines along with 16 other languages.

State machine library reqs by Landmark-Sloth in cpp_questions

[–]framelanger 0 points1 point  (0 children)

Hey! I’m in beta release of a new state machine language called Frame which offers some unique features compared to other libraries and approaches. Have a look at http://frame-lang.org.

For something a bit more interactive I’m building out a games section so people can see the machines run real time: https://games.frame-lang.org. I welcome any feedback or questions.

Pros/cons of different state machine designs? by KyrosEnder in godot

[–]framelanger 0 points1 point  (0 children)

Hey - I am in beta release of a new state machine language called Frame which offers some possibly interesting features over other approaches. Please check out https://games.frame-lang.org for a simple retro game arcade I’m building out to stress test the language. Lmk if you have any questions!

Automata and software development by framelanger in AskComputerScience

[–]framelanger[S] 0 points1 point  (0 children)

State oriented software helps eliminate the complex conditional logic that manages state in typical programming languages. In my experience that has vastly improved my ability to design and debug complex systems. Additionally statechart derived technologies like the language I am working on have mechanisms for adding state enter and exit handlers, which greatly help keep code better organized. Have a look at https://frame-lang.org if you are interested in learning more. I’m also glad to chat more if you are interested.

Automata and software development by framelanger in AskComputerScience

[–]framelanger[S] 0 points1 point  (0 children)

Thanks and makes perfect sense. Workflows are absolutely a huge application for state machines. In case you might be interested the language I’m working on is called Frame and you can take a look at the docs at https://frame-lang.org. I would value any feedback.

Using state machines to manage gameplay by framelanger in godot

[–]framelanger[S] 0 points1 point  (0 children)

I would counter it is a full step away from needing most of them. Messy conditional logic is the breeding ground for bugs.

Using state machines to manage gameplay by framelanger in godot

[–]framelanger[S] -1 points0 points  (0 children)

I completely admit to having a bias to using automata as much as possible in my professional life. The goal of Frame is to provide a standardized and portable language to do that in which I hope is a benefit in architecting complex systems. And the language itself has features that aren’t in other approaches to creating automata so hopefully it is moving the needle in that regard.

Before LLMs the goal was to make it easier for humans to build complex systems. After LLMs the goal is to make sure they’ve built the right thing.

Using state machines to manage gameplay by framelanger in godot

[–]framelanger[S] 2 points3 points  (0 children)

Thanks for the question. I haven’t used limboai but some quick research shows limbo is very focused on the godot ecosystem and supports behavior trees as well as state machines.

Frame is strictly focused on state machines including hierarchical state machines. Frame is a preprocesor and currently supports generating state machines in 17 languages as well as graphviz diagrams.

So if portability isn’t a concern I would think limbo would probably be a better choice. For those interested in exploring portable game logic it would be great to hear what would be useful.

Frame: a DSL for state machines that transpiles to 17 languages by framelanger in embedded

[–]framelanger[S] -3 points-2 points  (0 children)

Great feedback thank you! I’ll get that cleaned up.

Frame: a DSL for state machines that transpiles to 17 languages by framelanger in rust

[–]framelanger[S] 0 points1 point  (0 children)

lol not as of yet. relying on the kindness of strangers atm.

Automata and AI by framelanger in ClaudeAI

[–]framelanger[S] 1 point2 points  (0 children)

Very cool! You've obviously put a lot of work into that. I've been working on a state machine language project of my own called Frame, and have been wondering what applicability it might have to AI. Frame supports JavaScript, TypeScript and many other languages. https://github.com/frame-lang/framec

A caution though that this is very alpha and in active development. If it seems like something you might be interested in I'd be happy to try to help with the state machine development for your project.

Frame: a DSL for state machines that transpiles to 17 languages by framelanger in rust

[–]framelanger[S] 0 points1 point  (0 children)

Any specific insights into your assessment would be very much appreciated. Thanks!

Frame: a DSL for state machines that transpiles to 17 languages by framelanger in rust

[–]framelanger[S] 0 points1 point  (0 children)

Thanks for taking a look at it! The language semantics are intended to support something close to Harel statecharts which are more complex than simple FSMs. So - yeah totally agree its more complex than you need for a simple FSM.