Frame

Frame is a language for state machines, embedded in your native source code. Write your project in your chosen language; Frame @@system blocks expand into idiomatic state-machine implementations in that same language. Everything outside the @@system blocks passes through unchanged — native code, no runtime dependency, drop-in ready.

One specification compiles to 17 target languages — Python, TypeScript, JavaScript, Rust, C, C++, Java, C#, Go, PHP, Kotlin, Swift, Ruby, Erlang, Lua, Dart, GDScript — plus Graphviz for state-diagram visualization.

Quick install

cargo install framec

Start here

Project

Frame is developed in the open at github.com/frame-lang/framec. See the roadmap for what’s shipping next, and CONTRIBUTING to get involved.