Реклама
Перетяжка, 07.09, Анкета для друзей

Вышла первая альфа-версия компилятора GHC 10.0.1

Вышла GHC 10.0.1-alpha1, предварительная версия компилятора и интерактивной среды для Haskell. В ней появились GHC2024 по умолчанию, новые флаги для статической компоновки и поддержка SIMD для AArch64.

Обложка: Вышла первая альфа-версия компилятора GHC 10.0.1

Команда GHC выпустила первую альфа-версию GHC 10.0.1. Это открытый компилятор и интерактивная среда, с помощью которых разработчики собирают, запускают и профилируют программы на Haskell. Бинарные и исходные сборки, а также документация доступны на сайте проекта и через GHCup.

Что изменилось

  • Редакцией языка по умолчанию стала GHC2024.
  • Типы Type и Constraint теперь полностью разделены.
  • Расширение QualifiedStrings позволяет квалифицировать строковые литералы именем модуля.
  • Байткод можно сохранять на диск и упаковывать в библиотеки.
  • Появились флаги -fully-static и -static-external для статической компоновки исполняемых файлов.
  • Нативный генератор кода для AArch64 получил поддержку SIMD.
  • В однопоточном RTS на POSIX-платформах, кроме macOS, по умолчанию используется новый менеджер ввода-вывода на основе poll.

Минимальной версией компилятора для начальной сборки стала GHC 9.10. Добавлена поддержка LLVM до версии 23, а готовые сборки для Debian 9, Debian 10, Ubuntu 18.04 и Ubuntu 20.04 заменены сборкой для Debian 13.

Кого затронет релиз

Обновление важно для авторов Haskell-проектов, библиотек и инструментов сборки. Вторая версия протокола GHC Jobserver содержит несовместимое изменение: флаг -jsem требует cabal-install 3.18 или новее. При более старой версии компиляция продолжится последовательно с предупреждением.

Это предварительный выпуск, поэтому команда просит проверить на нём реальные проекты и сообщить об ошибках. Перед тестированием стоит изучить примечания к выпуску и руководство по миграции, особенно если проект зависит от внутренних модулей GHC.Num или функций Data.List.init и Data.List.last.

Источники