Skip to content

MaìLang v0.1.0 — Phase A Complete

Choose a tag to compare

@Maicarons Maicarons released this 11 Sep 04:20
· 121 commits to master since this release

MaìLang v0.1.0

A modern programming language for IoT and cross-platform development, written in Rust.

Repository: https://github.com/Maicarons/mailang

What's New

Core Language

  • Unicode-aware lexer with full token set
  • Recursive descent + Pratt parser
  • Stack-based bytecode VM with 50+ opcodes
  • Standard library (io, math, string, collections)
  • CLI with REPL and file execution

OOP

  • Class definitions with properties and methods
  • Constructor (\init) support
  • Inheritance with \extends\ and \super()\ calls
  • Method dispatch via \Invoke\ opcode
  • \ his\ binding in methods

Closures

  • Upvalue capture for closures
  • \MakeClosure\ opcode
  • Shared mutability across closure calls
  • Block-bodied anonymous functions

Pattern Matching

  • Literal pattern matching
  • Wildcard _\ pattern
  • Identifier binding patterns
  • Or-patterns \1 | 2 | 3\
  • Guard expressions \x if x > 10\

Infrastructure

  • 40 integration tests (all passing)
  • C FFI layer with 12-language binding support
  • WebAssembly bindings
  • VitePress documentation (Chinese + English)
  • GitHub Actions CI/CD

Component Tags

  • [\�0.1.0-lexer](https://github.com/Maicarons/mailang/releases/tag/v0.1.0-lexer) — Unicode-aware lexer
  • [\�0.1.0-parser](https://github.com/Maicarons/mailang/releases/tag/v0.1.0-parser) — Recursive descent + Pratt parser
  • [\�0.1.0-vm](https://github.com/Maicarons/mailang/releases/tag/v0.1.0-vm) — Stack-based bytecode VM
  • [\�0.1.0-oop](https://github.com/Maicarons/mailang/releases/tag/v0.1.0-oop) — Class system with inheritance
  • [\�0.1.0-closures](https://github.com/Maicarons/mailang/releases/tag/v0.1.0-closures) — Upvalue capture for closures
  • [\�0.1.0-pattern-match](https://github.com/Maicarons/mailang/releases/tag/v0.1.0-pattern-match) — Pattern matching engine
  • [\�0.1.0-ffi](https://github.com/Maicarons/mailang/releases/tag/v0.1.0-ffi) — C FFI layer
  • [\�0.1.0-wasm](https://github.com/Maicarons/mailang/releases/tag/v0.1.0-wasm) — WebAssembly bindings
  • [\�0.1.0-stdlib](https://github.com/Maicarons/mailang/releases/tag/v0.1.0-stdlib) — Standard library
  • [\�0.1.0-cli](https://github.com/Maicarons/mailang/releases/tag/v0.1.0-cli) — CLI with REPL
  • [\phase-a-complete](https://github.com/Maicarons/mailang/releases/tag/phase-a-complete) — Phase A milestone

Documentation

Quick Start

\\�ash
cargo install mailang-cli
mailang run hello.mai
\\

Known Limitations

  • \let/\�ar\ mutability not enforced at compile time
  • Default parameter values not compiled
  • Hex/octal/binary literals not implemented
  • Block comment uses **\ terminator (not */)
  • Analyzer not wired into execution pipeline
  • GC is a stub (not integrated with VM)
  • LSP is a skeleton (initialize only)