Skip to content

HHY Language 1.3.0-alpha

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Sep 03:43
· 38 commits to main since this release

HHY 1.3.0-alpha

HHY 1.3.0-alpha introduces the first verifiable Bytecode compiler skeleton while
keeping the AST evaluator as the only execution engine and default runtime path.

Bytecode compiler skeleton

  • Defines an internal Chunk with bounded instruction and constant storage.
  • Lowers every current AST node kind to an explicit Opcode instruction.
  • Deduplicates token text in a constant pool.
  • Preserves source line and column on every instruction.
  • Adds hhy bytecode <file.hhy> to compile, verify, and disassemble the internal IR.

Verifier

  • Rejects unknown opcodes and out-of-range constant references.
  • Validates the complete preorder node structure and declared child counts.
  • Enforces instruction, constant, and nesting limits.
  • Requires one canonical final HALT and rejects trailing instructions.
  • Runs against all valid examples and receives direct malformed-chunk and fuzz coverage.

Compatibility boundary

  • hhy run continues to use the AST evaluator.
  • Parser, Checker, Resolver, Runtime values, Streams, Errors, effects, cancellation,
    extensions, and resource limits are unchanged.
  • Opcode numeric values and Chunk layout are internal alpha details.
  • No Bytecode VM, persistent .hhyc, disk cache, external Bytecode loader, Native ABI,
    or default-engine switch is included.

Release policy

This is a prerelease. Linux x86_64, Linux arm64, macOS arm64, and Windows x86_64
must pass before publishing the corresponding archives and checksums. The stable
v1.2.2 release remains the recommended production release.