mech 0.3.4

Mech is a programming language for building reactive systems like robots, games, and animations.
Documentation
Mech Project Roadmap
===============================================================================

1. Project Status
-------------------------------------------------------------------------------

(1.1) Stage 1 - Alpha `v0.0.1` - `v0.0.6`

Conception: started 2014
Implementation: started 2018

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

Started: December 2022
Currently: `v0.3.4` (Spring 2026)

- `v0.1` proof of concept `Concluded 2023`
- `v0.2` data specification    `Concluded 2025`
- `v0.3` program specification !!Started 2026!!
- `v0.4` system specification `TBD`

(1.3) Stage 3 - Stable v1.0.0

No target release date yet.

2. Feature Progress
-------------------------------------------------------------------------------

| Icon | Status | Description |
|------|:--------:|-------------|
| 💭 | Concept | Just an idea, no implementation |
| 🥚 | Proof of Concept | Hacked implementation sketch |
| 🐣 | Alpha Implementation | Missing features, many bugs, undocumented |
| 🐤 | Beta Implementation | Completed, with bugs, some tests and docs |
| 🐓 | Feature Complete | Fully implemented, tested, documented |
| 🍗 | Deprecated | Removed from specification, should not be used |

(2.1) Data Specification (`v0.2`)

Now that all `v0.2` work items are at the beta implementation stage, we will prepare to move on to `v0.3`. This will mean wrapping up documentation, tests, and any remaining bugs. 

As beta features, these are are still not complete and are subject to change in `v0.3`.

-(🐤) repl
-(🐤) error system
-(🐤) value semantics
-(🐤) mechdown
-(🐤) type inference
-(🐤) new data types
  -(🐤) variety of numerical datatypes
    -(🐤) scientific numbers
    -(🐤) imaginary numbers
    -(🐤) rational numbers
  -(🐤) strings
  -(🐤) bools
-(🐤) new data structures
  -(🐤) enums
  -(🐤) option types
  -(🐤) sets
  -(🐤) maps
  -(🐤) atoms
  -(🐤) records
  -(🐤) tuples
  -(🐤) tables (dataframe)
-(🐤) flexible matrix type with fixed and dynamic sizes for homogeneous data
  -(🐤) matrix builder notation
  -(🐤) matrix slicing
  -(🐤) operator broadcasting
  -(🐤) logical indexing
  -(🐤) variable type and size checking
  -(🐤) builtin linear algebra tools
-(🐤) standard library
  -(🐤) combinatorics
  -(🐤) compare
  -(🐤) io
  -(🐤) math
  -(🐤) matrix
  -(🐤) set
  -(🐤) stats
  -(🐤) range

(2.2) Program Specification (`v0.3`)

(i)> Work on `v0.3` began in 2026.

Version `v0.3` incorporates all the features of `v0.2`, in addition to the following new features:

-(💭) synth/gen
-(💭) introspection
-(💭) higher order functions
-(💭) new types (dec64, currency, email addresses, dates)
-(💭) Integrations
  -(💭) Godot
  -(💭) Python
  -(💭) C/C++
  -(🐣) Rust
  -(🐣) Javascript
-(🥚) automatic differentiation
-(🥚) language server
-(🥚) physical units with dimension checking
-(🥚) file/parameter server
-(🥚) time travel debugging
-(🥚) machine revamp
-(🥚) database revamp
-(🐣) state machines
-(🐣) match expressions
-(🐣) patterns
-(🐣) mika
-(🐣) matrix comprehension
-(🐣) set comprehension
-(🐣) self-contained binary executables
-(🐣) bytecode interpreter
-(🐣) build system
-(🐣) user defined functions
  -(🐣) recursive functions
-(🐣) tests
-(🐣) profiler
-(🐣) gui
-(🐣) live coding

(2.3) System specification (v0.4)

-(💭) gpgpu
-(🐣) capability permissions
-(🐣) distributed programs
-(🐣) concurrent programming

3. Roadmap History
-------------------------------------------------------------------------------

(3.1) Version `v0.0.6-alpha` (unreleased)

-[x] Testing
-[x] Machines 
  -[x]HTML
    -[x] Mouse
    -[x] Keyboard
    -[x] Canvas Drawing
  -[x] File I/O
  -[x] Standard Streams
  -[x] Strings
  -[x] Number Literals
  -[x] HTTP
  -[x] Math
  -[x] Stats
  -[x] Random
  -[x] Time
  -[x] Set
  -[x] System
    -[x] Input Arguments
    -[x] Exit
  -[x] Mech Compiler
  -[x] Table

(3.2) Version `v0.1.0` (December 2022)

-[x] User defined functions
-[x] Errors
-[x] Distribution
-[x] Paralell operators
-[x] Async blocks
-[x] Units
-[x] Type checking
-[x] Multiple dispatch
-[x] JIT Block Compiler
-[x] Native executables
-[x] REPL
-[x] Machines
  -[x] Matrix
  -[x] GUI

(3.3) Version `v0.1.1` (Spring 2023)

- Core
  -[x] Automatic differentiation
  -[x] Capability system
  -[x] New parser
- Language Server
  -[x] Syntax Highlighter
  -[x] Autocomplete
  -[x] Goto Definition
  -[x] Goto Docs
  -[x] Hover inspector
  -[x] Workspace support
  -[x] Database watcher
- Editor
  -[x] Compile programs
  -[x] Database Explorer
- Docs
  - Mech platform references
    -[x] User Guide
    -[x] Ecosystem
    -[x] Architecture
- Machines
  - More gui
  - ai