GHC 7.8.1

GHC 7.8.1

По прошествии года вышла очередная версия GHC. Новая версия является один из самых мощных компиляторов для функционирования  языка программирования Haskell. Этот язык разрабатывается свободной группой специалистов. Состав этой группы не постоянен. Для работ привлекаются специалисты из практически всех стран мира, а координационный центр разработок находится в одной из лабораторий университета Глазго.

Самые основные изменения, произошедшие с компилятором в новой версии:

–Теперь осуществляется поддержка OS X Mavericks и XCode 5. Благодаря этому, новый GHC использует Clang для процессорной обработки кода для Mavericks

–Разработчики добавили новое предупреждение, которое выводится  по умолчанию -fwarn-typed-holes. Подробнее с этим можно ознакомиться в TypedHoles.

компилятор–Добавилось новое расширение DataKinds, что позволяет выполнять действия с натуральными числами на более высоком уровне — типов. Так же добавлены расширения ClosedType  и Families.

–Теперь, при использовании такогорасширения, как  GeneralizedNewtypeDeriving, проводится проверка ролей.

–Теперь есть возможность подключения расширения PatternSynonyms. А так же добавлены OverloadedLists.

–Технология вывода типов тоже претерпела изменения. У этого процесса увеличили скорость и уменьшили потребление оперативной памяти.

–Теперь, все строгие поля мелких типов datatype’ов автоматически проходят процесс unboxing. Для справки – ‘малый’ – это тип, размер которого меньше или равен машинному слову.

–Добавили нового менеджера IO, который намного лучше масштабируется, по сравнению с его старой версией. А LLVM-backend теперь совместимо  и с 128 и 256-битные операции SIMD.

–Полностью переработан генератор кода.

–Усилена поддержка процесса быстрой компиляции.

–Изменено значение вывода для сравнения с unboxed на Int#.

–Добавлены новые PrimOps для совершения атомарных операций.

–Старые типы Typeable с нумерацией теперь объявлены старыми и перемещены в каталог Data. Теперь Typeable – poly-kinded.

Applicative–В новой версии возможна параллельная компиляция.

–Теперь GHC поддерживает новую прагму – {-# MINIMAL #-}, которая разрешает явную декларацию глубокого и полного определения класса.

–В последующей версии – 7.10 – Applicative будет новым суперклассом Monad, что приведет к неработоспособности большинства кодируемых программ. Поэтому, теперь GHC генерирует предупреждение о возможных конфликтах с системой Applicative-MonadProposal

–Еще одно новшество – добавлено расширение InterruptibleFFIextension.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *