Mech Lang Mech Save

🦾 Main repository for the Mech programming language. Start here!

Project README

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 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 on a recent nightly release, and wasm-pack. When those are installed, follow these instructions:

git clone https://gitlab.com/mech-lang/mech -b v0.1-beta --recurse-submodules
cd mech
wasm-pack build wasm-notebook --target web
cargo build --bin mech --release

To update submodules:

git submodule update --force --recursive --init --remote

Project Roadmap

Mech is currently in the alpha stage of development. This means that while some features work and are tested, programs are still likely to crash and produce incorrect results. There is a "happy path" that works well, but it's quite narrow. We've implemented many language features, but most are incomplete and some are not yet implemented at all.

The project will hit the beta stage of development when all currently planned features have been implemented at least as a prototype. The current target for this milestone is October 2022.

See ROADMAP.md for more.

License

Apache 2.0

Open Source Agenda is not affiliated with "Mech Lang Mech" Project. README Source: mech-lang/mech

Open Source Agenda Badge

Open Source Agenda Rating