Solod: новый язык, который транспилирует Go в чистый C. Без рантайма, без сборщика мусора
Антон Жиянов сделал Solod (So) - строгое подмножество Go, которое компилируется в читаемый C11.
Не в бинарник через Go-компилятор, а именно в исходный C-код. Файл main.go превращается в main.h + main.c.
Идея простая: пишешь на Go (со всем его тулингом, LSP, подсветкой, тестами), а на выходе получаешь C без рантайма, без GC, без скрытых аллокаций.
Всё по умолчанию на стеке, хип только через стандартную библиотеку и явно.
Из Go взяли структуры, методы, интерфейсы, слайсы, множественные возвраты, defer. Осознанно выкинули горутины, каналы, замыкания и дженерики.
Язык максимально простой, сопоставим по сложности с Hare.
Отдельно интересен C-интероп: вызывать C из So и So из C можно без CGO и без накладных расходов. Строки и слайсы автоматически конвертируются в C-типы при вызове внешних функций.
Карты (maps) фиксированного размера, на стеке, с линейным поиском. append работает только в пределах начальной ёмкости. make аллоцирует на стеке через alloca.
Философия: если нужен хип, бери пакет из стандартной библиотеки и управляй памятью вручную.
Пока не для продакшена, но концепция интерсная.
По сути это «Go как синтаксический сахар для C» с нулевым оверхедом.
Для embedded, системного программирования и всех, кто любит C, но устал от его синтаксиса.
https://antonz.org/solod/
👣
https://t.me/addlist🚀 https://max.ru/Golang_google