Старший разработчик Граем запустил Blaise — современный компилятор для объективного Паскаля, созданный с нуля и избавленный от накопленных за десятилетия архаизмов. Проект решает главные боли экосистемы, где пользователи выбирают между платным Embarcadero Delphi с упором на Windows и Open Source Free Pascal, неся на себе вес тридцатилетней истории с пятью режимами языка и тысячами файлов include. Blaise предлагает принципиально иную архитектуру: единый режим языка без переключателей, один тип строки на базе UTF-8 с подсчетом ссылок, а также единую модель памяти с автоматическим подсчетом ссылок (ARC). Это устраняет разделение между TObject и TInterfacedObject, где для разрыва циклов используются слабые ссылки. Компилятор генерирует чистые интерфейсы без GUID в стиле COM, использует реифицированные дженерики с мономорфизацией в compile-time и поддерживает первую очередь отладки в формате OPDF. Проекту уже удалось реализовать саморазмножение: Blaise собирает и пересобирает сам себя с точным совпадением байт за байтом. Сейчас в работе находятся бэкенд на базе LLVM и поддержка платформ Windows и macOS ARM64, хотя основной функционал уже закрыт. Команда отказалась от коротких строк и старых методов ввода-вывода в пользу потоковой системы, а также убрала старовые типы объектов в пользу записи и класса. Реализована система сборки PasBuild с описанием зависимостей в project.xml, которая автоматически определяет порядок компиляции от runtime до инструментов. Проект открыт для обратной связи по дизайну языка и синтаксису, но пока не принимает код от сообщества, пока архитектура завершается. Для локальной сборки требуется Free Pascal Compiler версии 3.2.2 или выше, а также C-компилятор gcc или clang. Скомпилированный инструмент лежит в директории target и готов превращать исходные файлы в исполняемые приложения или эмитировать промежуточный код QBE для отладки.
Граем запустил компилятор Blaise для объектного Паскаля
08.05.2026 04:44 · hackernews