Repository navigation
MaìLang v0.1.0 — Phase A Complete
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)