Строго типизированный язык из семейства ML, компилирующийся в быстрый и понятный JavaScript, с генерацией типов TypeScript и удобной интеграцией с JS.
kulics/koral
Экспериментальный компилируемый язык программирования для кода, созданного ИИ и проверяемого людьми: явный синтаксис, без сборщика мусора, компиляция в C.
- Звёзды
- 418
- Форки
- 27
- Открытые issues
- 0
- Последний коммит
- 22 часа назад
Что это?
Koral — компилируемый язык программирования, разработанный с учётом того, что сейчас значительную часть кода создают ИИ-агенты, а читать его всё равно приходится людям. Синтаксис сводит к минимуму возможности для ошибок: каждый оператор завершается явной точкой с запятой, изменяемость задаётся один раз на уровне типа, у имени на уровне модуля только один владелец, а обработка ошибок записывается прямо в выражениях, а не с помощью `throw`, `try` или `catch`.
В языке нет ни сборщика мусора, ни ручного `free`. Номинальные типы объявляются в одной из двух форм: неизменяемый `type` или совместно используемый `type mutable`; от этого выбора зависит управление памятью. Компилятор генерирует C, что, по описанию проекта, рассчитано на широкую совместимость с платформами. В языке есть алгебраические типы данных, исчерпывающее сопоставление с образцом, обобщённые типы с ограничениями по trait, объекты trait, C FFI и `defer`.
Проект помечен как экспериментальный и пока не готов к промышленному использованию. Его самохостящийся компилятор написан на самом Koral и собран с помощью замороженного эталонного компилятора на Swift.
Ключевые возможности
- 01Операторы завершаются явными точками с запятой, а для импортов используется единая форма `using`.
- 02Память управляется без сборщика мусора и ручного `free`; подход определяется типами `type` и `type mutable`.
- 03Управляющие конструкции, такие как `if`, `when`, `while` и `for`, являются выражениями и поддерживают исчерпывающее сопоставление с образцом.
- 04Ошибки обрабатываются непосредственно в выражениях с помощью `or else`, `and then` и `or return`.
- 05Компилирует в C и предоставляет C FFI с сырыми указателями и `defer`.
Сценарии использования
- Изучение языка, разработанного для упрощения проверки кода, созданного ИИ.
- Изучение устройства компиляторов, в том числе самохостящегося компилятора и бэкенда для C.
- Эксперименты с управлением памятью без сборщика мусора.
Быстрый старт
- 1
Клонируйте репозиторий
git clone https://github.com/kulics/koral.git - 2
Соберите зафиксированный эталонный компилятор Swift (требуется toolchain Swift)
swift build -c release --package-path compiler-reference - 3
Соберите самодостаточный компилятор с помощью эталонного компилятора
compiler-reference/.build/release/koralc build --package-config compiler/koral.json --target-module koralc -o bin/compiler
Что важно знать
- Проект находится на экспериментальной стадии и пока не готов к использованию в production.
- Для сборки требуются toolchain Swift, clang и Git.
- Компиляция выполняется через C, поэтому для создания бинарных файлов необходим toolchain C.
В подборках
Темы
Частые вопросы
- Что такое koral?
- Экспериментальный компилируемый язык программирования для кода, созданного ИИ и проверяемого людьми: явный синтаксис, без сборщика мусора, компиляция в C. Koral — компилируемый язык программирования, разработанный с учётом того, что сейчас значительную часть кода создают ИИ-агенты, а читать его всё равно приходится людям. Синтаксис сводит к минимуму возможности для ошибок: каждый оператор завершается явной точкой с запятой, изменяемость задаётся один раз на уровне типа, у имени на уровне модуля только один владелец, а обработка ошибок записывается прямо в выражениях, а не с помощью `throw`, `try` или `catch`.
- koral можно использовать бесплатно? Какая у него лицензия?
- koral распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- koral всё ещё поддерживается?
- Активно поддерживается. Последний коммит в koral — 6 нояб. 2026 г..
- Для чего можно использовать koral?
- Изучение языка, разработанного для упрощения проверки кода, созданного ИИ. Изучение устройства компиляторов, в том числе самохостящегося компилятора и бэкенда для C. Эксперименты с управлением памятью без сборщика мусора.
- Как установить koral?
- Клонируйте репозиторий: git clone https://github.com/kulics/koral.git Соберите зафиксированный эталонный компилятор Swift (требуется toolchain Swift): swift build -c release --package-path compiler-reference Соберите самодостаточный компилятор с помощью эталонного компилятора: compiler-reference/.build/release/koralc build --package-config compiler/koral.json --target-module koralc -o bin/compiler
- Где скачать koral?
- Исходный код и инструкции по установке — на GitHub: https://github.com/kulics/koral
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Go — язык программирования с открытым исходным кодом для создания простого, надёжного и эффективного ПО.
Основной репозиторий исходного кода языка Rust: компилятор, стандартная библиотека и документация.
Sway — язык программирования в духе Rust для написания смарт-контрактов в блокчейне Fuel.
Простой и быстрый компилируемый язык для удобного сопровождения кода: без зависимостей от библиотек, с автоматическим переводом C в V.
Odin — универсальный язык системного программирования с ориентацией на данные, встроенной стандартной библиотекой и позиционированием как альтернатива C.