31 korrik u shpallĂ«n versionet 0.15.0 dhe 0.15.1 Mettle â njĂ« gjuhĂ« programimi sistemike me tipizim statik:
Mbështetje native për x86-64 (+ AVX2), AArch64, NVIDIA PTX, SPIR-V (OpenCL 2.0).
Linker i vetëpavarur për Windows PE.
Debugger i vetëpavarur në nivelin e kodit burimor:
- Pa formate të jashtme.
- Pikat e ndaljes, hap pas hapi, si dhe leximi dhe shkrimi i variablave nĂ« kohĂ« reale pĂ«rmes âdebug-hooks.
- Pa gdb, PDB dhe DWARF.
Backend CUDA.
Pa LLVM, makinë virtuale dhe runtime.
Ekzekutimi nĂ« fazĂ«n e kompilimit: funksionet me atributin @test ekzekutohen nĂ« interpreterin e kompajlerit me komandĂ«n mettle test, pa krijuar njĂ« skedhĂ« binar. Komanda mettle trace interpreton njĂ« funksion dhe jep ndjekjen e vlerave rresht pas rreshti. Komanda âpgo interpreton funksionin main() gjatĂ« fazĂ«s sĂ« ndĂ«rtimit dhe dĂ«rgon frekuencat e matur pĂ«rsĂ«ri nĂ« optimizues.
-
PĂ«rshkrimi Shembuj E ngjashme me Rust PĂ«rdorim pas lĂ«shimit (direkte) free(p); p[0] pronĂ«si / Drop LĂ«shim i dyfishtĂ« free(p); free(p) pronĂ«si PĂ«rdorim pas lĂ«shimit pĂ«rmes njĂ« aliasi q = p; free(q); p[0] sematikĂ« e lĂ«vizjes PĂ«rdorim pas lĂ«shimit pĂ«rmes njĂ« thirrje (tĂ« inferuar) consume(p); p[0] ku consume lĂ«shon p sematikĂ« e lĂ«vizjes Huazimi qĂ« jeton mĂ« gjatĂ« se scope i stack { var x; g = &x[0]; } use(g) jetĂ«gjatĂ«sitĂ« (âa) Pointeri brendshĂ«m pas rialokimit q = &buf[i]; realloc(buf,..); q[0] invalidimi i iteratorit Pointeri brendshĂ«m pas lĂ«shimit q = &buf[i]; free(buf); q[0] referencĂ« qĂ« pendon Kthimi i adresĂ«s sĂ« njĂ« lokale nĂ« stack return &local fn() -> &T gabim i jetĂ«gjatĂ«sisĂ« KĂ«rcim (pa pronar nĂ« asnjĂ« rrugĂ«) var p = malloc(n); return 0 (Rust lĂ«shon pĂ«rmes Drop)
Kompilator i bazuar në bibliotekën libmtlc:
- Gjuha e vetme e ndërmjetme (IR).
- Optimizues klasikë dhe GNN për kodin.
- Gjenerim native të kodit (x86-64 (+ AVX2), AArch64, NVIDIA PTX, SPIR-V (OpenCL 2.0)).
- Kompozim native.
Projektet janë shkruar nga një programues në Cape Town suidvandiewereld në gjuhën C (standard C99) dhe shpërndahen sipas licencës Apache-2.0.
Burimi: linux.org.ru
