Project Meta
Language Roadmap
Checklist of completed milestones and planned feature additions for Rune.
Rune is developed incrementally to explore language development concepts step-by-step.
Completed
- v0.1.0 — Initial Release — Lexer scanner, recursive descent parser, typed AST nodes, tree-walk interpreter, dynamically typed variables, standard loops, first-class functions (spells), environment scope closures, and an interactive REPL shell.
- v0.2.0 — Architecture Refactor — Split codebase into clean package directories (
lexer/,parser/,runtime/,ast/), isolated control-flow signals (skip, stop, return exceptions), and extracted keyword token config lists. - VS Code Extension — Basic editor tooling workspace with TextMate syntax rules, snippets, and integrated execution terminals.
Planned
Near-term
- Lists — Ordered mutable collections:
set items = [1 2 3], referencingitems[0], andlength(items). - List Iteration — Loop statements:
for item in items { ... }. - Multiline Strings — Triple-quoted word literals.
- String Escape Extensions — Robust unicode and custom escapes parsing.
- Compound Assignment — Syntactic sugar
set x += 1andset x -= 1.
Medium-term
- Modules — Importing other files:
import mathto namespace.runefile targets. - Exports — Exposing select spells from module files.
- Error Handling — Structured catch blocks for tracking exceptions.
- Standard Library — Integrated utility libraries for math calculations and file I/O operations.
Long-term
- Bytecode Compiler — Compiling the high-level AST into compact, dense instructions.
- Virtual Machine — Designing a stack-based VM to execute instructions, improving speed.
- LSP Integration — Custom Language Server Protocol for completions and diagnostics in editors.
- Formatter — Enforcing standard, canonical code style guidelines.
- Package Manager — Tooling to share and install third-party Rune modules.