Skip to content

v0.7.0

Choose a tag to compare

@marquisburg marquisburg released this 18 May 14:41

Mettle v0.7.0 - Rebrand & Async Runtime

Note: The project has been rebranded from Meth to Mettle. The compiler binary is now mettle / mettle.exe, source files use the .mettle extension, and the installer is updated accordingly. Update any scripts that invoke the old meth binary or reference .meth files.

Highlights

  • Rebrand to Mettle: new name, binary, file extension, icon, and documentation throughout.
  • Async/await runtime: bounded worker-pool executor (default) plus an experimental stackless coroutine model on a portable reactor (IOCP - on Windows, poll(2) on POSIX), with executor lifecycle management, token-routed task wakeups, and cooperative cancellation.
  • Compilation speed: multiple passes of compile-time optimization across the front end and codegen.
  • Runtime performance: codegen improvements for faster generated programs.

Language & Compiler

  • Allowed newlines inside unclosed brackets (more forgiving parsing).
  • Improved error reporting and diagnostics.
  • Concurrency work and improved operand handling.
  • Trait bounds / generic constraints, tagged-enum match, and namespaced imports (new test coverage added).
  • Better string/cstring interop and std/conv formatting.

Stability

  • Massive stability improvements and bug fixes across the compiler.
  • Better POSIX support for Linux.
  • Web server demo and form parser improvements.