Об этом проекте

sysl — это системный язык общего назначения, разработанный для обеспечения контроля, присущего системным языкам, при сохранении доступности. Для управления памятью он использует подсчет ссылок вместо borrow checker или сборщика мусора. Памятью управляется через явные режимы типов: `T` для значений/стека, `&T` для кучи с подсчетом ссылок ARC и `*T` для сырых указателей, что дополняется `ref` для локальных привязок. Язык компилируется в нативные бинарные файлы через LLVM IR и линкуется с помощью clang. Он обладает комплексной стандартной библиотекой и надежным интерфейсом внешних функций (FFI), который позволяет линковать его с библиотеками C или встраивать в проекты на C в виде статического архива. Ключевые технические особенности включают: - Компиляция в нативные бинарные файлы через LLVM. - Управление памятью на основе подсчета ссылок (ARC). - Сильная совместимость с C через директивы `@export` и `@link`. - Компилятор, реализованный на Scala 3, доступный как в виде CLI-инструмента, так и в виде библиотеки через Maven Central. - Интегрированная поддержка тестирования с использованием атрибутов `@test` непосредственно в исходном коде.