Спустя почти год с выпуска предыдущей версии, вышла новая версия GHC 7.8.1 — одного из самых мощных и развитых на сегодняшний день компиляторов функционального языка программирования Haskell, который разрабатывается свободной рабочей группой из многочисленных разработчиков, собранных по всему миру и координируемых из лаборатории университета Глазго.
Основные изменения:
- добавлена поддержка OS X Mavericks и XCode 5. В связи с этим GHC использует Clang для препроцессорной обработки кода для билдов Mavericks;
 - добавлено новое предупреждение по умолчанию -fwarn-typed-holes, подробнее в Typed Holes;
 - возможность выполнять вычисления над натуральными числами на уровне типов при использовании расширения DataKinds;
 - добавлены Closed Type Families;
 - при использовании расширения GeneralizedNewtypeDeriving теперь проводится проверка ролей, подробнее в Roles;
 - добавлены Overloaded Lists;
 - добавлено расширение Pattern Synonyms;
 - переработаны механизмы вывода типов, увеличена скорость, уменьшено потребление памяти;
 - по умолчанию GHC проводит unboxing всех строгих полей «малых» типов для datatype'ов. «Малые» типы — это типы, размер которых меньше, либо равен машинному слову. Это означает что больше не нужно использовать прагму UNPACK для строгих полей с типом Int. Это также относится к типам с плавающей точкой;
 - новый менеджер IO, который значительно лучше масштабируется по сравнению с предыдущим;
 - LLVM-backend поддерживает 128-и и 256-битные SIMD операции;
 - полностью переписан кодогенератор;
 - улучшена поддержка кросскомпиляции;
 - PrimOps для сравнения unboxed значений теперь возвращает Int# вместо Bool;
 - новые PrimOps для атомарных операций;
 - Typeable теперь poly-kinded, типы Typeable1, Typeable2 и т.д. объявлены устаревшими и перемещены в Data.OldTypeable;
 - добавлена возможность параллельной компиляции;
 - добавлена поддержка новой прагмы {-# MINIMAL #-}, разрешающей явную декларацию минимального полного определения класса;
 - в версии 7.10 Applicative станет суперклассом Monad, что потенциально приведет к неработоспособности большого количества кода. Для облегчения миграции GHC теперь генерирует предупреждения о конфликтах Applicative-Monad Proposal (AMP);
 - добавлено расширение InterruptibleFFI extension, подробнее Interruptible foreign calls;
 - добавлен модуль Hooks в GHC API;
 - кодогенератор LLVM теперь поддерживает динамическую линковку;
 - добавлена поддержка Unicode left/right single quotation marks (i.e. U+2018 and U+2019) для сообщений компилятора, если текущая локаль поддерживает Юникод.
 
>>> Подробности













