Представлен открытый проект языка программирования Solod
Состоялся выпуск языка программирования под названием Solod (So). Это решение предоставляет подмножество языка Go, транскомпилируемое в представление на языке C (C11). Проект можно использовать для сборки компиляторами GCC, Clang и zig cc.
Ключевым отличием языка Solod от Go и Tinygo является использование ручного управления памятью, работающего без применения сборщика мусора, без автоматического выделения памяти и без подсчёта ссылок. Транспайлер для Solod написан на языке Go и опубликован под лицензией BSD. Решением поддерживается работа в Linux, macOS и Windows.
По информации OpenNET, язык Solod поддерживает структуры, методы, интерфейсы, слайсы, возврат функциями нескольких значений, например, результат и код ошибки, дженерики и отложенные вызовы (defer). С целью упрощения в проекте не поддерживаются каналы, сопрограммы и замыкания.
При разработке на языке Solod могут использоваться существующие LSP‑серверы, линтеры, интегрированные среды разработки и редакторы кода, поддерживающие язык Go, а также инструментарий go test.
Написанный на Solod код может интегрироваться с приложениями на языке C (язык C может вызвать функции на Solod и наоборот) и не требует прикрепления runtime. Из ключевых областей применения отмечается системное программирование с близкими к C возможностями, но с синтаксисом в стиле Go и обеспечением проверки типов. Solod также может применяться для портирования Go-библиотек для использования в проектах на C. На язык C портированы Go-пакеты strings, io, bytes, mem, slices.
Помимо набора портированных Go-библиотек в программах на языке Solod можно использовать обвязки над стандартной библиотекой libc.
По умолчанию вся память в Solod выделяется в стеке, но через функции Alloc/Free стандартной библиотеки
Читать на habr.com