Releases: The-Mettle-Project/mettle-core
Release list
libmtlc v0.1.0
libmtlc v0.1.0
The first public release of libmtlc, a from-scratch, frontend-agnostic native compiler backend, together with Mettle, its reference frontend. Custom IR, classical and GNN optimizers, hand-encoded code generation for four targets, and its own PE linker. No LLVM, no VM, no external assembler.
libmtlc owns the IR, the optimizer, code generation, and linking. Any frontend can build IR through the public API in include/mtlc/ and drive it to a native binary, targeting x86-64, ARM64, NVIDIA PTX, or SPIR-V. The backend never includes a frontend header, and that boundary is enforced by the test suite rather than just documented: a second, non-Mettle frontend (examples/calc) compiles and runs against the library alone.
Install the Mettle toolchain (compiler, standard library, runtime):
# Linux
curl -fsSL https://raw.githubusercontent.com/The-Mettle-Project/mettle-core/main/install.sh | sh# Windows
irm https://raw.githubusercontent.com/The-Mettle-Project/mettle-core/main/install.ps1 | iexOr get just the backend (headers and static library, for embedding in your own frontend):
# Linux, into ./libmtlc
curl -fsSL https://raw.githubusercontent.com/The-Mettle-Project/mettle-core/main/get-libmtlc.sh | sh# Windows, into .\libmtlc
irm https://raw.githubusercontent.com/The-Mettle-Project/mettle-core/main/get-libmtlc.ps1 | iexChangelog
- Extracted the compiler backend into
libmtlc, a standalone, frontend-agnostic library: custom IR, classical optimizer, GNN-driven optimizer behind a translation-validation gate, and native linking, fully decoupled from the Mettle frontend - Added the SPIR-V code generator (OpenCL 1.2), alongside the existing x86-64, ARM64, and PTX targets
- Added the public IR builder API (
mtlc/build.h) and the rest ofinclude/mtlc/, letting any frontend construct IR, optimize, emit code, and link without touching internal headers - Added
examples/calc, a second, non-Mettle frontend proving the backend is genuinely frontend-agnostic - Added the
libmtlc_selfcontained,calc_frontend, andpublic_apisuite gates - Added one-line install scripts for the full toolchain (
install.sh,install.ps1) and for the backend alone (get-libmtlc.sh,get-libmtlc.ps1) - Added
make dist-libmtlc/make install-libmtlcandtools/dist-libmtlc.ps1for packaging just the backend from a checkout
Full Changelog: https://github.com/The-Mettle-Project/mettle-core/commits/v0.1.0
Full Changelog: https://github.com/The-Mettle-Project/mettle-core/commits/v0.1.0