5 releases

0.0.5 May 6, 2020
0.0.4 Apr 4, 2020
0.0.3 Oct 30, 2019
0.0.2 Jun 13, 2019
0.0.1 Mar 27, 2019

#625 in Programming languages

Apache-2.0

3MB
850 lines

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

You can try Mech online at try.mech-lang.org.

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

Read about progress on our blog, follow us on Twitter @MechLang, get live help on our Gitter channel, or join the mailing list.

Welcome

This repository serves as a table of contents for the constellation of tools and utilities that comprise the Mech programming language:

  1. Core - The language runtime. It's a small dataflow engine that accepts transactions of changes, and applies them to a compute network.
  2. Syntax - A compiler for a textual Mech syntax.
  3. Program - Coordinates distributed Mech cores as a coherent program.

Documentation

Right now, most Mech features and syntax are undocumented. You can find some minimal documentation here, and also the beginning of a tutorial here.

Installation

From Binary

You can download the the latest release for your platform here. Or, if you have Rust's Cargo tool installed you can use the following command:

> cargo install mech

From Source

You will need to install Rust (Mech only works on the "Nightly" release channel) before building Mech. When those are installed, follow these instructions:

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

Project Status

Mech is currently in the v0.0.5 alpha stage of development. This means that while some features work and are tested, programs are still likely to crash and produce incorrect results. We've implemented some language features, but many are not yet implemented.

Feel free to use the language for your own satisfaction, but please don't use it for anything important.

License

Apache 2.0

Dependencies

~31–45MB
~799K SLoC