Mech Project Roadmap

Project Status

Stage 1 - Alpha v0.0.1 - v0.0.6

Stage 2 - Beta v0.1.0 - v0.4+ (???)

Stage 3 - Stable v1.0.0

Feature Status

Data Specification (v0.2)

Program Specification (v0.3)

System specification (v0.4)

Nearterm Goals

Version 0.2.0

Version 0.3.0

Project History

Version 0.0.6 Alpha (unreleased)

Version 0.1.0 (December 2022)

Version 0.1.1 (Spring 2023)

Mech Project Roadmap

Project Status

Stage 1 - Alpha v0.0.1 - v0.0.6

Conception: started 2014

Implementation: started 2018

Stage 2 - Beta v0.1.0 - v0.4+ (???)

Started: December 2022

Currently: v0.2.66 (Fall 2025)

  • v0.2 (data specification) (Current Work)

  • v0.3 (program specification) (Starting in 2026)

  • v0.4 (system specification)

Stage 3 - Stable v1.0.0

Target release date: ???

Feature Status

  • concept

  • proof of concept implementation

  • alpha implementation

  • beta implementation

  • feature complete

  • deprecated

Data Specification (v0.2)

  • language server

  • enums

  • option types

  • sets

  • maps

  • atoms

  • error system

  • records

  • tuples

  • scientific numbers

  • imaginary numbers

  • rational numbers

  • tables (dataframe)

  • strings

  • repl

  • standard library functions

  • variable type and size checking

  • builtin linear algebra tools

  • value semantics

  • literate programming

  • typxe inference

  • bools

  • operator broadcasting

  • logical indexing

  • matrix builder notation

  • matrix slicing

  • variety of numerical datatypes

  • flexible matrix type with fixed and dynamic sizes for homogeneous data

Program Specification (v0.3)

  • state machines

  • automatic differentiation

  • introspection

  • higher order functions

  • physical units with dimension checking

  • file/parameter server

  • self-contained binary executables

  • time travel debugging

  • bytecode interpreter

  • build system

  • user defined functions

  • tests

  • profiler

  • gui

  • live coding

System specification (v0.4)

  • gpgpu

  • capability permissions

  • distributed programs

  • concurrent programming

Nearterm Goals

Version 0.2.0

Current work is focused on reimplementing the core of the Mech language to reorient programs around state machines. Version 0.2 will be focused on dataspecification - entering data into the system, slicing, remixing, and reshaping it for use in program logic.

  • Monorepo

  • New Literals

    • Atoms

    • Specifying units

    • Scientific notation

  • Table redo

    • Different kinds: Table, Matrix, Record, Set, Tuple, Enum

    • Simplify indexing

    • HashTable/HashSet support

  • Stdlib Redo

    • Math

    • Compare

    • Logic

    • Range

    • Access

    • Convert

  • Parser Redo

    • Mechdown

    • Statements

    • Expressions

    • Structures

    • Formatter

  • Mechdown Redo

    • Headers

    • Paragraphs

    • Code Block

    • Ordered List

  • Expression

    • Var

    • Range

    • Slice

    • Forumula

    • Struct

    • Literal

    • Function call

  • Statement

    • VarDefine

    • VarAssign

    • Kind Define

    • Enum Define

  • Matrix

    • Multiply

    • Transpose

  • Docs

    • Language Spec

    • Learn Mech in 15 Minutes

Version 0.3.0

  • Dec64

  • Currency

  • Autograd syntax

  • History syntax

  • Database redo

    • ACID

    • Persistence

    • Time travel debugging

    • Capabilities

  • Distributed runtime redo

    • Core syntax

    • CAP

    • QOS

    • Inbox

    • Capabilities

  • Machines revamp

    • Packaging

    • Reuse

    • Composition

    • Explicit importing

    • Remapping

    • Specifying versions

  • Editor

    • Start and stop cores

    • Save and load programs

    • Workspace explorer

    • API endpoint server

    • Syntax highlighting

    • Embed programs

    • Display errors

  • Machines

    • json

    • sockets

    • serial

    • bluetooth

    • audio

    • maps

    • plot

    • gpgpu

  • State machines

    • Specification

    • Definition

  • Split

  • Flatten

  • Solve linear system

  • FSM Pipe

  • Tutorials

  • How-Tos

  • Mech for X

  • Website

    • Homepage

    • Blog

    • Docs

    • Try

  • Function Redo

    • FXN Call

    • FXN Defintiion

Project History

Version 0.0.6 Alpha (unreleased)

  • Testing

  • Machines

    • HTML

      • Mouse

      • Keyboard

      • Canvas Drawing

    • File I/O

    • Standard Streams

    • Strings

    • Number Literals

    • HTTP

    • Math

    • Stats

    • Random

    • Time

    • Set

    • System

      • Input Arguments

      • Exit

    • Mech Compiler

    • Table

Version 0.1.0 (December 2022)

  • User defined functions

  • Errors

  • Distribution

  • Paralell operators

  • Async blocks

  • Units

  • Type checking

  • Multiple dispatch

  • JIT Block Compiler

  • Native executables

  • REPL

  • Machines

    • Matrix

    • GUI

Version 0.1.1 (Spring 2023)

  • Core

    • Automatic differentiation

    • Capability system

    • New parser

  • Language Server

    • Syntax Highlighter

    • Autocomplete

    • Goto Definition

    • Goto Docs

    • Hover inspector

    • Workspace support

    • Database watcher

  • Editor

    • Compile programs

    • Database Explorer

  • Docs

    • Mech platform references

      • User Guide

      • Ecosystem

      • Architecture

  • Machines

    • More gui

    • ai