Mech is a programming language for building data-driven, reactive systems such as robots, games, simulations, and user interfaces. It treats data and the relationships between data as the center of a program. Programs describe how values relate, change, and react, allowing the same model to coordinate computation, interfaces, and physical systems.
The project began in 2014 as an exploration of how programming could better fit systems that continuously receive, transform, and react to information. Implementation began in 2018, growing out of work in robotics and interactive systems where values move between sensors, models, interfaces, and physical devices.
Mech is declarative, statically typed, embeddable, and designed around matrices, functions, patterns, and state machines. Its purpose is to make live programs easier to understand, test, debug, visualize, and connect to the environments where they run.
Current status
Mech is in active beta development. The language and compiler are working; current work is focused on the runtime. Parts of the wider platform are still experimental, lightly tested, or incomplete, so Mech should not yet be used in critical systems.
Roadmap
- Start Implementation begins 2018
- 0.0.1 First alpha release 2019
- v0.1 Proof of concept 2023
- v0.2 Data specification 2025
- v0.3 Program specification 2026
- v0.4 Runtime Soon
- v0.5 Distribution and concurrency 2027
- v1.0 Stable platform 2028