🦾 Mech is a programming language for building data-driven systems like robots, games, and interfaces. Start here!
295
stars
11,179
commits
Rust
primary language
Sep 11, 2026
updated
Mech is for building data-driven, reactive systems like robots, games, embedded devices and more.
It simplifies data distribution, transformation, and analysis so you can focus on your project.
The following code implements FizzBuzz in Mech:
See the docs for an extended version that runs live in your browser.
Some notable features of Mech are demonstrated in this short program:
Mech also supports a number of other features, such as pattern matching,state machines, comprehensions, and relational joins.
Here are a few more examples of Mech code to give you a sense of the language. First, the classic factorial program expressed in Mech:
Pattern matching is a prominent feature throughout Mech. Here is an example of pattern matching on arrays:
State machines are Mech's way of expressing protocols, processes, and asynchronous computations. Here is an example of a simple state machine that counts down from a given number:
Mech also supports comprehensions and relational joins. Here is an example of a comprehension that finds the friends of friends in a social graph by joining two generators over a common variable:
There are several ways to get Mech running on your machine, which you can find in the documentation. But the easiest way to get started is to use the online REPL at try.mech-lang.org.
New to Mech? Start with Learn Mech in Fifteen Minutes.
Comprehensive documentation is available at docs.mech-lang.org and open-sourced on GitHub.
The Mech community gathers at a few places around the Internet:
Feel free to stop by and introduce yourself -- we're happy to meet new users and answer questions!
Mech v0.3 is currently beta status, meaning while many intended features are implemented and working well, other features are incomplete, not tested, or undocumented.
A Brief Roadmap:
For more details, read the ROADMAP.
Mech should be considered unstable and therefore unfit for use in critical systems until v1.0 is released.
Licensed under Apache 2.0.
Rust
94.4%
CSS
3.4%
HTML
2.1%
🦾 Mech is a programming language for building data-driven systems like robots, games, and interfaces. Start here!
295
stars
11,179
commits
Rust
primary language
Sep 11, 2026
updated
Mech is for building data-driven, reactive systems like robots, games, embedded devices and more.
It simplifies data distribution, transformation, and analysis so you can focus on your project.
The following code implements FizzBuzz in Mech:
See the docs for an extended version that runs live in your browser.
Some notable features of Mech are demonstrated in this short program:
Mech also supports a number of other features, such as pattern matching,state machines, comprehensions, and relational joins.
Here are a few more examples of Mech code to give you a sense of the language. First, the classic factorial program expressed in Mech:
Pattern matching is a prominent feature throughout Mech. Here is an example of pattern matching on arrays:
State machines are Mech's way of expressing protocols, processes, and asynchronous computations. Here is an example of a simple state machine that counts down from a given number:
Mech also supports comprehensions and relational joins. Here is an example of a comprehension that finds the friends of friends in a social graph by joining two generators over a common variable:
There are several ways to get Mech running on your machine, which you can find in the documentation. But the easiest way to get started is to use the online REPL at try.mech-lang.org.
New to Mech? Start with Learn Mech in Fifteen Minutes.
Comprehensive documentation is available at docs.mech-lang.org and open-sourced on GitHub.
The Mech community gathers at a few places around the Internet:
Feel free to stop by and introduce yourself -- we're happy to meet new users and answer questions!
Mech v0.3 is currently beta status, meaning while many intended features are implemented and working well, other features are incomplete, not tested, or undocumented.
A Brief Roadmap:
For more details, read the ROADMAP.
Mech should be considered unstable and therefore unfit for use in critical systems until v1.0 is released.
Licensed under Apache 2.0.
Rust
94.4%
CSS
3.4%
HTML
2.1%