Представлен выпуск GHC 9.4.6 (Glasgow Haskell Compiler), компилятора для функционального языка программирования Haskell, обеспечивающего эффективное распараллеливание вычислений и поддерживающего программную транзакционную память (STM, Software Transactional Memory). В компиляторе реализована полная поддержка спецификации Haskell 2010 и многочисленных языковых расширений. Компилятор поддерживает генерацию исполняемых файлов с машинным кодом, формирование байткода или трансляцию в исходные тексты на языке Си. Код проекта написан на языке Haskell и распространяется под лиценизей BSD.
Основные изменения в этом выпуске:
- Исправление ошибок для упрощения выражений, исправление аварийных завершений компилятора, циклов и неправильной кодогенерации.
- Исправление ошибок проверки типов, включая семейства экземпляров newtype, улучшение работы сравнения типов и работа над ошибками по представлением по умолчанию переменных с полиморфными типами.
- Исправления кодогенерации, в частности для архитектуры aarch64, включая увеличение числа барьеров памяти для операций чтения массивов.
- Исправления ошибок сборки под Windows, улучшение надёжности выключения менеджера IO и исправление ошибок для RTS-линковщика под Windows.
- Исправление ошибок для корректного учёта выделения мутаторов и неперемещающего сборщика мусора.
- Предотвращение некоторых ошибок сегментации связанных с закреплёнными выделениями.
- Исправления ошибок для интерпретатора байткода, позволяющее интерпретировать большее подмножество языка.
Release.
Ссылка here.