Repository navigation
Viyal
·
5 commits
to main
since this release
This is a massive update introducing a brand-new compiler architecture, an advanced optimization pipeline, and automated cross-platform distribution.
🚀 New Features & Architecture
- File Extension Change: The official language file extension has been renamed from
.vyto.vylacross the entire ecosystem. - New Middle Intermediate Representation (MIR): Introduced a brand new MIR layer (
compiler/mir) andmir_compiler.rsto bridge the gap between High-Level IR (HIR) and Bytecode. - Advanced Optimization Pipeline: Added a comprehensive, multi-pass optimizer (
compiler/optimizer) which brings massive performance improvements before bytecode generation. The new passes include:- Static Single Assignment (SSA) and De-SSA construction.
- Control Flow Graph (CFG) generation.
- Constant Folding.
- Dead Code Elimination (DCE).
- Global Value Numbering (GVN).
- Sparse Conditional Constant Propagation (SCCP).
- Compiler Backend Layer: Scaffolded a new backend abstraction (
compiler/backend) for future native/JIT compilation targets.
🛠 Improvements & Refactoring
- Runtime & VM Enhancements: Major updates and stability improvements to the Garbage Collector (
runtime/gc), Async runtime, Concurrency model, and the core Virtual Machine object model. - Toolchain Upgrades: Refactored and improved all core language tooling including the CLI, Static Analyzer, Formatter, Debugger, and the Language Server Protocol (LSP).
- Compiler Core: Extensive updates across the entire frontend compilation pipeline (Lexer, Parser, AST, Resolver, and Typechecker).
- Standard Library: Expanded and updated the
stdlib(io, path, process, str) to support the new.vylecosystem.
⚙️ Build & CI/CD
- Automated Cloud Releases: Added a complete Continuous Integration pipeline using GitHub Actions (
release.yml) to automatically build native binaries for Windows, Linux, and macOS (Intel & Apple Silicon). - Developer Scripts: Added PowerShell scripts (
build_release.ps1andbump_version.ps1) to automate version bumping, tagging, and local release packaging.