Historical development plan from the January 2026 baseline.
|
Important
|
Status sync note (updated 2026-05-19): This file is historical planning text and is not authoritative for feature readiness. Authoritative sources, in order:
|
Overall Completion (historical baseline): 85%
| Component | Completion | Status |
|---|---|---|
Lexer |
100% |
Full Unicode support, comprehensive test coverage |
Parser |
100% |
615-line Menhir grammar, complete syntax coverage |
AST |
100% |
All language constructs represented |
Error Handling |
100% |
Rich diagnostics with colored output, 50+ error codes |
Name Resolution |
100% |
Module loader, stdlib imports, scope analysis |
Type Checker |
98% |
Bidirectional inference, effect system, subsumption |
Effect System |
100% |
Pure/impure separation, effect polymorphism |
Borrow Checker |
95% |
Use-after-move detection, ownership tracking |
Interpreter |
85% |
Pattern matching, control flow, basic effects |
Code Generation |
75% |
WASM IR, binary encoder, WASI I/O |
Formatter |
100% |
AST-based pretty printer |
Linter |
100% |
4 static analysis rules |
IDE Tooling |
100% |
VSCode, LSP, Tree-sitter |
-
Trait System (70%) — Method resolution, generic bounds
-
Standard Library (65%) — Core modules expansion
-
WASI Runtime (40%) — File I/O, environment access
Goal: Complete all essential language features
Tasks:
-
Trait System Completion (Priority: High)
-
❏ Trait bound checking in generic functions
-
❏ Associated types in traits
-
❏ Supertraits and trait inheritance
-
❏ Derive macros for common traits (Eq, Ord, Hash)
-
-
Effect Handlers (Priority: High)
-
❏ Implement delimited continuations
-
❏ Full
resumesupport in handlers -
❏ Effect polymorphism with
fn<E>(…) → T / Esyntax -
❏ Effect masking and encapsulation
-
-
Type System Enhancements (Priority: Medium)
-
❏ Dependent type checking implementation
-
❏ Row polymorphism for extensible records
-
❏ Type-level natural numbers
-
❏ Refinement types with predicates
-
-
Standard Library Expansion (Priority: High)
-
❏ Collections: Vec, HashMap, HashSet
-
❏ String operations and formatting
-
❏ File I/O with WASI integration
-
❏ Network effects (when WASI supports it)
-
❏ Error handling utilities
-
-
Testing & Quality (Priority: High)
-
❏ Comprehensive type system tests
-
❏ Effect system test suite
-
❏ Borrow checker edge cases
-
❏ WebAssembly integration tests
-
Deliverables:
-
Type system: 100% complete
-
Effect system: 100% complete with handlers
-
Trait system: 100% complete
-
Standard library: 80% complete
-
Test coverage: >85%
Goal: Implement advanced type system features
Tasks:
-
Non-lexical Lifetimes (Priority: High)
-
❏ NLL borrow checker implementation
-
❏ Lifetime inference
-
❏ Lifetime elision rules
-
❏ Polonius-style algorithm
-
-
Totality Checking (Priority: Medium)
-
❏ Termination analysis for recursive functions
-
❏ Structural recursion detection
-
❏ Well-founded recursion with metrics
-
❏ Coverage checker for pattern matching
-
-
Module System (Priority: Medium)
-
❏ Multi-file projects
-
❏ Package manager design
-
❏ Visibility rules (pub(crate), pub(super))
-
❏ Re-exports and module aliases
-
-
Optimizer (Priority: Medium)
-
❏ Constant folding (✅ basic done)
-
❏ Dead code elimination
-
❏ Inlining heuristics
-
❏ Effect optimization
-
❏ Monomorphization
-
-
Documentation (Priority: High)
-
❏ Complete language reference
-
❏ Tutorial series (10+ lessons)
-
❏ API documentation for stdlib
-
❏ Compiler architecture guide
-
Deliverables:
-
Advanced type features: 100% complete
-
Totality checker: working on common patterns
-
Optimizer: basic optimizations implemented
-
Documentation: comprehensive and up-to-date
Goal: Polish for production use
Tasks:
-
Performance (Priority: High)
-
❏ Benchmark suite
-
❏ Compiler optimization (incremental compilation)
-
❏ Memory usage profiling
-
❏ WASM output size optimization
-
-
Error Messages (Priority: High)
-
❏ Error message quality review
-
❏ Helpful suggestions for common mistakes
-
❏ IDE quick-fixes integration
-
❏ Error codes documentation
-
-
Tooling (Priority: Medium)
-
❏ Build system (cargo-like tool)
-
❏ Package manager
-
❏ Documentation generator
-
❏ Debugging support (DWARF in WASM)
-
-
Testing & Stability (Priority: Critical)
-
❏ Fuzzing infrastructure
-
❏ Regression test suite
-
❏ Performance regression tracking
-
❏ Security audit
-
-
Examples & Ecosystem (Priority: Medium)
-
❏ 20+ example programs
-
❏ Web framework demo
-
❏ CLI tool examples
-
❏ Interop with JavaScript
-
Deliverables:
-
AffineScript 1.0 Release
-
Comprehensive documentation
-
Production-ready toolchain
-
Example applications
-
Active community resources
-
Liquid Types — SMT-solver integration for refinements
-
Session Types — Protocol verification for concurrent code
-
Staged Compilation — Compile-time metaprogramming
-
Gradual Typing — Interop with untyped languages
-
Package Registry — Central package repository
-
Web Framework — Full-stack web applications
-
Game Engine — Leveraging WASM for games
-
Embedded Support — WASM on microcontrollers
See CONTRIBUTING.adoc for guidelines on:
-
Bug reports and feature requests
-
Pull request process
-
Code style and conventions
-
Testing requirements
Priority areas for contributors:
-
Standard library modules (Collections, I/O, String)
-
Test cases for type system edge cases
-
Documentation improvements
-
Example programs and tutorials
-
IDE tooling enhancements
| Phase | Goal | Target |
|---|---|---|
Current |
Core features working |
85% |
Phase 1 (Q1 2026) |
Complete core language |
90% |
Phase 2 (Q2 2026) |
Advanced features |
95% |
Phase 3 (Q3 2026) |
Production ready |
1.0 Release |
Post-1.0 |
Ecosystem growth |
Ongoing |
For 1.0 Release:
-
❏ All core language features implemented
-
❏ >90% test coverage
-
❏ Comprehensive documentation
-
❏ 5+ non-trivial example applications
-
❏ Active community (Discord, GitHub)
-
❏ Performance competitive with Rust for WASM
-
❏ Zero known soundness bugs
-
❏ Package ecosystem (10+ packages)