Об этом проекте
cx — это гибридный низкоуровневый/высокоуровневый язык программирования семейства C, ориентированный на производительность во время выполнения и продуктивность разработчика, именно в таком порядке приоритета. Он описывается как простой и не навязывающий мнений, поддерживающий императивный, обобщённый, data-oriented, функциональный и объектно-ориентированный стили программирования. Он компилируется в нативный код через LLVM или C-бэкенд, без сборки мусора и скрытого рантайма.
Проект приближается к релизу 0.1. В README отмечается, что некоторые запланированные возможности ещё не реализованы, реализованные возможности могут измениться, а также присутствуют ошибки. Документация доступна на сайте проекта и в формате Markdown в каталоге docs, примеры кода — в каталоге examples. Вопросы и обсуждения направляются в GitHub issues или на Discord-сервер проекта.
Для сборки из исходного кода требуются компилятор C++20, CMake 3.16 или новее и LLVM/Clang 23. В README приведены инструкции для конкретных платформ: Linux (установка через apt и готовые tar-архивы LLVM), macOS (Homebrew) и Windows (готовые бинарные файлы LLVM). В результате сборки создаются бинарные файлы cx и cx-lsp. Языковой сервер поддерживает диагностику, hover, переход к определению, автодополнение, поиск ссылок и семантическую подсветку в редакторах с поддержкой LSP.
Вклад приветствуется через GitHub issues и доску Trello. Для тестирования используются lit и psutil, устанавливаемые через pip, затем цель check в CMake запускает полный набор тестов через CTest, охватывая тесты lit/компилятора, примеры программ на обоих бэкендах — LLVM и C, фрагменты документации и сквозные тесты языкового сервера. Отдельные подмножества можно запускать с помощью фильтров ctest. Стиль кода C++ обеспечивается ClangFormat через цели CMake format и lint. Фронтенд WebAssembly и браузерный инструментарий C поддерживают браузерную площадку и сайт, а также скрипт сборки для локальной разработки. Проект распространяется под лицензией MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.