8 releases

new 0.2.18 Nov 5, 2024
0.2.13 Sep 30, 2024
0.2.4 Jul 29, 2024
0.1.0 Jan 4, 2023
0.0.1 Mar 20, 2019

#263 in Robotics

Download history 137/week @ 2024-07-15 155/week @ 2024-07-22 295/week @ 2024-07-29 134/week @ 2024-08-05 214/week @ 2024-08-12 55/week @ 2024-08-19 182/week @ 2024-08-26 165/week @ 2024-09-02 124/week @ 2024-09-09 268/week @ 2024-09-16 221/week @ 2024-09-23 197/week @ 2024-09-30 215/week @ 2024-10-07 147/week @ 2024-10-14 158/week @ 2024-10-21 134/week @ 2024-10-28

657 downloads per month
Used in 5 crates

Apache-2.0

145KB
3K SLoC

Mech is a language for developing data-driven, reactive systems like robots, games, and animations. It makes composing, transforming, and distributing data easy, allowing you to focus on the essential complexity of your project.

You can try Mech online at https://mech-lang.org/try.

Usage and installation instructions can be found in the documentation or the main Mech repository.

Be sure to follow our blog(RSS)!

Syntax

A toolchain for compiling textual Mech source code.

Contents

  • parser - converts text into a parse tree.
  • ast - converts parse tree into abstract syntax tree.
  • compiler - converts abstract syntax tree into blocks.
  • formatter - converts a parse tree into text.

This branch also contains various editor modes that implement the language server protocol. Modes are available for:

  • VS Code
  • EMACS (Coming soon...)
  • VIM (Coming soon...)

Project Status

Mech is currently in the beta stage of development. This means that the language is at a suitable stage for a wider audience. While most language feature implementations are started, none are finished, and some new features may, while others could be removed. Backwards and forwards compatibility of Mech programs is not guaranteed at this time.

License

Apache 2.0

Dependencies

~11–23MB
~292K SLoC