Skip to content

zetac0.3.27

Choose a tag to compare

@murphsicles murphsicles released this 02 Apr 10:42
· 796 commits to main since this release

Release v0.3.27 - "Array & Module Completion"

Release Date: 2026-04-01
Target Compatibility: PrimeZeta v0.5.0 (95%+)

Overview

This release focuses on completing array syntax support and module system improvements to achieve high compatibility with PrimeZeta v0.5.0. Three specialized agents were deployed to address key areas:

  1. ARRAY-PARSER-AGENT - Fixed array syntax confusion between Zeta-style [T; N] and PrimeZeta-style [N]T
  2. MODULE-SYSTEM-AGENT - Completed import patterns and module resolution
  3. COMPTIME-EVAL-AGENT - Implemented basic comptime function evaluation

Changes

Array Syntax Support

  • ✅ Full support for Zeta-style array syntax: [T; N]
  • ✅ Full support for PrimeZeta-style array syntax: [N]T
  • ✅ Automatic conversion between syntax styles
  • ✅ Nested array support: [[i64; 4]; 3] and [3][4]i64
  • ✅ Array type system integration

Module System

  • ✅ Fixed module resolver compilation errors
  • ✅ Improved zeta:: crate import handling
  • ✅ Virtual module creation for self-compilation patterns
  • ✅ Enhanced error messages for module resolution failures

Compile-Time Evaluation

  • ✅ Basic comptime function evaluation
  • ✅ Integer arithmetic in const expressions
  • ✅ Simple const function calls with literal returns
  • ⚠️ Array evaluation in comptime functions (partial - integer arrays only)

Compatibility Improvements

  • Updated to match PrimeZeta v0.5.0 array conventions
  • Fixed type system conversions for array types
  • Improved error recovery for syntax variations

Technical Details

Array Parser Updates

The array parser now handles both syntax styles transparently:

  • [i64; 10] → Zeta style (kept as-is)
  • [10]i64 → PrimeZeta style (converted to Zeta style internally)

Module Resolver Fixes

  • Fixed as_slice() method calls on &[String]
  • Improved pattern matching for module paths
  • Better handling of internal compiler module imports

Const Evaluator

  • Simplified to return Option<i64> for now
  • Supports basic arithmetic operations
  • Handles simple const function evaluation
  • Array evaluation limited to integer elements

Known Issues

  1. Comptime array evaluation is limited to integer arrays
  2. Some edge cases in nested module imports may fail
  3. Complex const expressions with control flow not fully supported

Testing Status

  • ✅ Array parsing tests pass
  • ✅ Module system tests pass
  • ⚠️ Comptime evaluation tests partially pass (integer functions only)
  • ❓ PrimeZeta full compilation test pending

Next Steps for v0.5.0 Bootstrap

  1. Complete array evaluation in comptime functions
  2. Add support for const control flow (if, loops)
  3. Improve error messages for compatibility issues
  4. Finalize PrimeZeta v0.5.0 bootstrap compatibility

Files Modified

  • src/middle/resolver/module_resolver.rs - Fixed module resolution
  • src/middle/const_eval.rs - Simplified const evaluation
  • src/bin/test_array_parsing.rs - Array syntax tests
  • src/bin/test_comptime_eval.rs - Comptime function tests
  • src/bin/test_comptime_array.rs - Array generation tests
  • Cargo.toml - Version update to 0.3.27

Special Thanks

  • ARRAY-PARSER-AGENT for array syntax unification
  • MODULE-SYSTEM-AGENT for import pattern completion
  • COMPTIME-EVAL-AGENT for basic compile-time evaluation
  • INTEGRATION-COORDINATOR for release coordination

Compatibility Target: 95%+ PrimeZeta v0.5.0 source compilation
Status: READY FOR TESTING

Full Changelog: v0.3.26...v0.3.27