Skip to content

v1.0

Latest

Choose a tag to compare

@oaustegard oaustegard released this 17 May 22:16
406abfd

First stable release. The acceptance gate defined in the README — zero
ERROR/MISSING on the acceptance corpus
— is met across a corpus that
grew ~8x in coverage during the v0.9 → v1.0 cycle.

Grammar features closed (20)

raises, var, comptime (expression + statement-prefix), alias,
trait, typed raises ErrorType, ref [origin] T return-type syntax,
var / mut / read / owned conventions on *name variadic
parameters, // infer-only marker and keyword arguments in [...]
parameter lists, decorators on struct / trait, Self, ^ ownership
transfer, argument conventions before variadic *name, comptime_statement
prefix on if / for / while / assert, and the rest of the
follow-up gaps from PRs #41#44.

Corpus widening

v0.9 v1.0
Files 4 31
Lines (approx.) ~640 ~12,000
Source projects 1 (fusemojo) 6 (fusemojo, modular/modular stdlib, lightbug_http, MAX, mojojson, decimo)

Verification

tree-sitter test          -> 78/78
script/check-errors.sh    -> 0 ERROR/MISSING across 31 files
CI                        -> green

Notable PRs since v0.9

  • #37 widened the corpus beyond fusemojo (closes #28)
  • #40 closed [...]-list gaps from #38
  • #46 vendored algorithm_memory.mojo (closes #45)
  • #47 added comptime_statement (closes #41)
  • #48 extended raises_clause for typed errors (closes #42)
  • #49 added ref [origin] T return-type syntax (closes #43)
  • #50 allowed argument conventions before *name variadic (closes #44)
  • #51 vendored the final two reproducer files (polynomial.mojo,
    header.mojo) — completing the acceptance corpus