mech 0.2.30

Mech is a reactive programming language for building robots, games, and animations.
<p align="center">
  <img width="500px" src="https://mech-lang.org/img/logo.png" alt="Mech Logo">
</p>

**Mech** is a language for building **data-driven** and **reactive** systems like robots, games, user interfaces, and more. It simplifies **composing**, **transforming**, and **distributing** data, so you can focus on the core complexities of your project.

[Try Mech](https://mech-lang.org/try/) online in your browser or stay updated through our [blog](https://mech-lang.org/blog/).

## πŸ“‚ Download and Install

### πŸ’Ύ From Binary

Download the latest release for your platform [here](https://github.com/mech-lang/mech/releases/latest).

### πŸ“¦ From Source

To build Mech from source, you’ll first need to install [Rust](https://www.rust-lang.org/learn/get-started) (make sure to install a recent version on the nightly release channel). 

Then follow the instructions below to compile the Mech toolchain, bundled in a single executable called `mech`:

```bash
git clone https://gitlab.com/mech-lang/mech
cd mech
cargo build --bin mech --release
```

## πŸ“š Documentation

New to Mech? Start with [Learn Mech in Fifteen Minutes](https://gitlab.com/mech-lang/docs/-/raw/v0.2-beta/III.guides/MechFifteen.mec).

Comprehensive documentation is available at [mech-lang.org](https://mech-lang.org/docs) and open-sourced on [GitHub](http://github.com/mech-lang/docs).

## πŸͺ Community

The Mech community stays active at a few places around the Internet:

- πŸ‘Ύ [Discord]https://discord.gg/asqP25NNTH - for live chat
- πŸ™ [GitHub]https://github.com/mech-lang - for code and issues
- πŸ“Ί [YouTube]https://www.youtube.com/@MechLang - for video tutorials
- πŸ›Έ [Reddit]https://www.reddit.com/r/mechlang/ - for help and general discussion
- πŸ“§ [Mailing List]https://groups.google.com/g/mechtalk - for dev discussion

Feel free to stop by and introduce yourself -- we're happy to meet new users and answer questions! 

## πŸ—ΊοΈ Project Roadmap

Mech v0.2 is currently **beta** status, meaning most intended features are implemented, but rough edges abound and there is a general lack of documentation. Development is focused on testing and documentation.

A Brief Roadmap:

- β˜‘οΈ [v0.1]https://github.com/mech-lang/mech/tree/v0.1-beta - proof of concept system - minimum viable language implementation
- πŸ“ [v0.2]https://github.com/mech-lang/mech/tree/v0.2-beta - data specification - formulas, defining and manipulating data
- ☐ v0.3 - program specification - functions, modules, state machines
- ☐ v0.4 - system specification - tools, distributed programs, capabilities

For more details, read the [ROADMAP](ROADMAP.mec).

A new version of Mech is [released every week](https://github.com/mech-lang/mech/releases).

## 🐲 Notice

Mech should be considered unstable and therefore unfit for use in critical systems until v1.0 is released.

## βš–οΈ License

Licensed under [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0).