TGViewer
Linux Linux @sysadminoff · 2.13K subscribers
Post #19139 53
‍Mettle 0.15.0 и 0.15.1

31 июля состоялись выпуски 0.15.0 и 0.15.1 Mettle — языка системного программирования со статической типизацией:


Нативная поддержка x86-64 (+ AVX2), AArch64, NVIDIA PTX, SPIR-V (OpenCL 2.0).


Собственный линкер Windows PE.


Собственный отладчик на уровне исходного кода:

Без внешних форматов.
Точки останова, пошаговая отладка, а также чтение и запись переменных в реальном времени через --debug-hooks.
Без gdb, PDB и DWARF.



Бэкенд CUDA.


Без LLVM, виртуальной машины и рантайма.


Выполнение на этапе компиляции: функции с атрибутом @test запускаются в интерпретаторе компилятора командой mettle test, без создания бинарного файла. Команда mettle trace интерпретирует одну функцию и выводит построчное отслеживание значений. Команда --pgo интерпретирует функцию main() на этапе сборки и передаёт измеренные частоты вызовов обратно в оптимизатор.


Проверка заимствований (borrow checker):


ОписаниеПримерАналог Rust


Use-after-free (direct)free(p); p[0]ownership / Drop
Double freefree(p); free(p)ownership
Use-after-free through an aliasq = p; free(q); p[0]move semantics
Use-after-free across a call (inferred)consume(p); p[0] where consume frees pmove semantics
Borrow outliving its stack scope{ var x; g = &x[0]; } use(g)lifetimes ('a)
Interior pointer after reallocq = &buf[i]; realloc(buf,..); q[0]iterator invalidation
Interior pointer after freeq = &buf[i]; free(buf); q[0]dangling reference
Returning the address of a stack localreturn &localfn() -> &T lifetime error
Leak (no owner on any path)var p = malloc(n); return 0(Rust frees via Drop)




Компилятор основан на библиотеке libmtlc:

Собственный промежуточный язык (IR).
Классические и GNN оптимизаторы кода.
Нативная генерация кода (x86-64 (+ AVX2), AArch64, NVIDIA PTX, SPIR-V (OpenCL 2.0)).
Нативная компоновка.

Проекты написаны кейптаунским программистом suidvandiewereld на языке C (стандарт C99) и распространяются по лицензии Apache-2.0.



 c, mettle, компиляторы, языки программирования

👉@sysadminoff

https://www.linux.org.ru/news/development/18353611
More from @sysadminoff
  1. Oct 14, 2026Выпуск компилятора ISPC 1.32, развиваемого Intel для языка Си с расширениями SPMD Компания…
  2. Oct 14, 2026📰 I replaced Moonlight and Parsec with Steam Remote Play, and my game streams finally get…
  3. Oct 14, 2026Apple Minions turns idle Macs into an AI cloud Apple’s Minions system pools spare GPU capa…
  4. Oct 14, 2026Релиз KDE Plasma 6.8 В день тридцатилетия проекта опубликован релиз среды рабочего стола K…
  5. Oct 14, 2026Gemini 4 Argon review Matthew Berman tests Gemini 4 Argon by asking it to build browser-ba…
  6. Oct 14, 2026Google DeepMind’s Gemma scam detector will warn users on-device Google DeepMind and GovTec…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →