Skip to content

Viyal

Choose a tag to compare

@rajarajanponraj rajarajanponraj released this 20 Sep 15:01
· 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 .vy to .vyl across the entire ecosystem.
  • New Middle Intermediate Representation (MIR): Introduced a brand new MIR layer (compiler/mir) and mir_compiler.rs to 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 .vyl ecosystem.

⚙️ 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.ps1 and bump_version.ps1) to automate version bumping, tagging, and local release packaging.