Skip to content
main
Switch branches/tags
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
assets @ 16315e5
Apr 19, 2022
core @ b7b5243
Apr 19, 2022
docs @ 4c851b0
Apr 19, 2022
examples @ d66fc50
Apr 19, 2022
Apr 19, 2022
program @ 20624a9
Apr 19, 2022
src
Apr 19, 2022
syntax @ d6b7963
Apr 19, 2022
Mar 18, 2022
utilities @ 16a6c27
Apr 19, 2022
wasm @ 44df1ed
Apr 19, 2022
Aug 13, 2018
Apr 19, 2022
Mar 28, 2022

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 project.

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, and follow us on Twitter @MechLang.

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

Documentation is hosted online at mech-lang.org, and is open sourced on GitHub.

  • Mech platform references
    • Syntax
    • Ecosystem
    • Architecture
  • User guides
    • Tutorials
    • How-Tos
    • Mech for X

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 Roadmap

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 many language features, but most are incomplete and some are not yet implemented at all.

The project will hit the v0.1 beta stage of development when all currently-planned features have been implemented at least at as a prototype.

See ROADMAP.md for more.

License

Apache 2.0