#mech #language #programming #dataflow #runtime

nightly no-std bin+lib mech-core

The Mech language runtime. It’s a small dataflow engine that accepts transactions of changes, and applies them to a compute network.

5 releases

Uses old Rust 2015

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

#4 in Robotics

44 downloads per month
Used in less than 8 crates

Apache-2.0

130KB
3K SLoC

Mec eh 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.

Core

The language runtime. It's a small dataflow engine that accepts transactions of changes, and applies them to a compute network.

Contents

  • table - defines a Table, the core data structure of Mech. Also defines a Value, which unifies the various data types (Number, String, Bool, Reference).
  • database - defines a Database of tables. Databases accept Transactions, which is are sets of Changes to the database.
  • runtime - defines a Runtime, which orchestrates the compute graph; and Blocks, which comprise the compute graph.
  • indexes - defines the various indexes used to quickly look up information in the database
  • operations - defines the primitive operations that can be performed by nodes in the compute network.
  • errors - defines an Error, which holds the information necessary to track and render error messages.

Status

Mech is currently alp ha. 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

~1–1.6MB
~36K SLoC