LINUX.ORG.RU

Ghc


18

0

Всего сообщений: 20

Glasgow Haskell Compiler 9.12.1

Glasgow Haskell Compiler 9.12.1
Группа Open Source

Привет, ЛОР!

Тихо и незаметно вышла новая версия великолепного компилятора языка Haskell. GHC развивается сообществом разработчиков с 1992 года и поддерживает компиляцию языка Haskell в нативный код как напрямую, так и с использованием инструментария LLVM.

Среди особенностей новой версии:

  • Расширение языка OrPatterns, позволяющее давать общий обработчик нескольким веткам сравнения по образцу.
  • Поддержка многострочных строковых литералов через специальный синтаксис: """строка""".
  • В бэкенд компилятора добавлены экспериментальная поддержка архитектуры RISC-V и поддержка SIMD инструкций для архитектуры x86 (ранее требовалось использование LLVM).
  • Удалена поддержка 32-битных версий ОС Windows, macOS и iOS. Поддержка 32-битных систем на базе Linux и BSD нетронута.
  • Улучшена работа сборщика мусора. В некоторых случаях скорость работы программ может увеличиться на 25%.
  • И множество других мелких фич, багфиксов и так далее.

>>> Скачать

>>> Подробности

 , ,

hateyoufeel
()

Вышел GHC 9.6.1

Вышел GHC 9.6.1
Группа Разработка

Привет, ЛОР!

10 марта вышел релиз самого популярного компилятора языка Haskell — GHC 9.6.1. С момента предыдущего мажорного выпуска 9.4.1 прошло более 10 месяцев. GHC на данный момент является эталонной реализацией языка и распространяется под модифицированной лицензией BSD3.

( читать дальше... )

>>> Подробности

 , ,

hateyoufeel
()

Glasgow Haskell Compiler 9.4.1

Glasgow Haskell Compiler 9.4.1
Группа Разработка

Привет, ЛОР!

7 августа вышла новая версия Glasgow Haskell Compiler 9.4.1. На данный момент GHC является самым активно развиваемым компилятором для Haskell.

( читать дальше... )

>>> Release Notes

 , ,

hateyoufeel
()

GHC 9.0.1

GHC 9.0.1
Группа Open Source

Вышла новая версия компилятора языка Haskell — Glasgow Haskell Compiler. Из-за значительных изменений была увеличена мажорная версия компилятора.

Основные изменения:

  • Добавлена реализация линейных типов (расширение LinearTypes). Линейные типы позволяют отслеживать использование ресурсов на стадии компиляции и могут использоваться, среди прочих вещей, для статического управления памятью в стиле Rust.
  • Новая встроенная библиотека для работы с числами неограниченного размера: ghc-bignum. Её использование помогает с переносимостью в системах, где библиотека GMP по каким-либо причинам недоступна.
  • Улучшения в кодогенераторе, значительно увеличивающие производительность многих программ.
  • Улучшения в коде проверки сравнения с образцом (pattern matching), позволяющие находить лишние проверки в случаях, где раньше это было невозможно.
  • Новый IO-менеджер для платформы Windows. Раньше на Windows был использован IO-менеджер для Unix-систем, что приводило в худшей производительности на этой платформе. Также прекращена поддержка Windows Vista. Теперь для сборки и запуска программ на Haskell требуется минимум Windows 7.
  • Добавлено расширение QualifiedDo, расширяющее возможности по переопределению поведения кода.
  • Для сборки с LLVM теперь требуется версия 9.0 или выше.

Также недавно был выпущен корректирующий релиз GHC 8.10.4, исправляющий несколько багов в ветке 8.10.

>>> Подробности

 , ,

hateyoufeel
()

GHC 8.10.1

Группа Open Source

Состоялся очередной релиз компилятора Glasgow Haskell Compiler.

Среди изменений:

  • Новые расширения языка UnliftedNewtypes, StandaloneKindSignatures и ImportQualifiedPost.
  • Изменения в кодогенерации, включая более агрессивную специализацию кода, новый анализатор циклов, оптимизацию работы с массивами и тэггирование указателей для больших типов данных.
  • Новая команда интерпретатора :instances, показывающая доступные инстансы классов для заданного типа.
  • Улучшения в работе встраиваемого профайлера кода.
  • И, вишенкой на торте, новый сборщик мусора, отличающийся уменьшенным временем задержек, сборкой мусора без копирования данных и возможностью параллельной сборки мусора и работы кода. Для включения нового сборщика мусора нужно скомпилировать код новой версией компилятора и запустить с параметрами +RTS -xn.

Подробнее про новый сборщик мусора можно прочитать здесь.

>>> Скачать

>>> Подробности

 , ,

hateyoufeel
()

GHC 8.8.1

Группа Open Source

Тихо и незаметно, вышла новая версия известного компилятора языка программирования Haskell.

Среди изменений:

  • Поддержка профилирования на 64-битных системах с Windows.
  • GHC теперь требует LLVM версии 7.
  • Метод fail окончательно вынесен из класса Monad, теперь он находится в классе MonadFail (финальная часть MonadFail Proposal).
  • Явное применение типа (type application) теперь работает и для самих типов, а не только для значений.
  • forall теперь является ключевым словом вне зависимости от контекста, что позволяет использовать его в type families и rewrite rules.
  • Улучшен алгоритм компоновки кода для x86.
  • Множество других изменений.

>>> Полный список изменений

>>> Гайд по миграции кода на новую версию

>>> Скачать

 , ,

hateyoufeel
()

Компилятор GHC языка Haskell: теория языков программирования в работе

Группа Конференции и встречи

31 марта в Санкт-Петербурге стартует двухдневный курс лекций Виталия Брагилевского о внутреннем устройстве компилятора GHC.

Компилятор GHC (The Glasgow Haskell Compiler) языка Haskell уже в течение почти 30 лет представляет собой площадку для экспериментов в области теории языков программирования. В рамках этого курса мы посмотрим, какие именно результаты теории в нём реализованы, а также обсудим, как можно подключиться к его разработке.

В первой части курса (две лекции) будет рассказываться о структуре компилятора GHC, принципах его разработки и порядке работы.

Вторая часть (три лекции) будет посвящена внутреннему языку GHC Core, в который транслируется код на Haskell и который представляет собой расширение системы полиморфного λ-исчисления высших порядков System Fω, а также вычислению выражений Core с использованием STG-машины.

Лекции будут проходить в ПОМИ РАН (Набережная реки Фонтанки, 27, Мраморный зал (2 этаж)).

Участие бесплатное, регистрация не требуется.

>>> Подробности

 , ,

ymn
()

GHC 8.2.1

Группа Open Source

Вышла новая версия компилятора Glasgow Haskell Compiler.

( Список изменений )

>>> Скачать

>>> Release Notes

 ,

hateyoufeel
()

GHC 8.0.1

Группа Open Source

Спустя 6 лет с момента релиза 7.0 выпущена новая версия компилятора языка Haskell — GHC 8.0.1.

Главные изменения:

  • Новое расширение DuplicateRecordFields, позволяющее использовать в различных типах поля с одинаковыми именами.
  • Поддержка превращения do-нотации в код, использующий класс Applicative вместо Monad.
  • Расширения Strict и StrictData, отключающие ленивое вычисление кода и данных соответственно в пределах модуля.
  • Поддержка инъективных (injective) семейств типов и рекурсивных суперклассов.
  • Улучшена генерация стектрейсов.
  • Новый генератор кода для платформы PPC64. Поддержка операционной системы AIX.
  • Улучшена поддержка платформы ARM.
  • Поддержка LLVM 3.7.
  • Новый аллокатор памяти для 64-битных платформ.
  • Добавлена поддержка пользовательских ошибок при проверке типов.
  • Windows XP более не поддерживается.

>>> Полный список изменений

>>> Подробности

 ,

hateyoufeel
()

Вышел Glasgow Haskell Compiler 7.10.1

Группа Open Source

27 Марта 2015 года вышла новая версия компилятора и интерпретатора функционального языка программирования Haskell.

Из интересного:

  • Новое расширение StaticPointers для распределенных вычислений: обзор
  • Поддержка плагинов в модуль проверки типов
  • GHC начал понимать опцию -g, которая добавляет отладочную DWARF секцию для отладчиков (например, gdb) и профилировщиков (например, perf)
  • Встроенная библиотека работы с числами Integer использует более эффективный распределитель памяти.
  • Улучшена поддержка динамических библиотек на архитуетурах PowerPC, SPARC, Itanium
  • Исправлено непомерное потребление памяти при компиляции типов с большим числом конструкторов в режиме -O2 (SpecConstr bug)
  • И многое другое

Изменения, влияющие на обратную совместимость:

>>> Все изменения

 ,

sf
()

GHC 7.8.1

Группа Open Source

Спустя почти год с выпуска предыдущей версии, вышла новая версия 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) для сообщений компилятора, если текущая локаль поддерживает Юникод.

Страница загрузки

>>> Подробности

 ,

encyrtid
()

Glasgow Haskell Compiler 7.6.1

Группа Open Source

Вышла новая версия GHC 7.6.1 — одного из самых мощных и развитых на сегодняшний день компиляторов функционального языка программирования Haskell, который разрабатывается свободной рабочей группой из многочисленных разработчиков, собранных по всему миру и координируемых из лаборатории университета Глазго.

Основные изменения:

  • polymorphic kinds и data promotion полностью реализованы, Kind polymorphism;
  • реализована поддержка платформы Windows 64bit;
  • флаг -fdefer-type-error позволяет отложить обнаружение ошибок типов в рантайме, Deferring type errors to runtime;
  • опцию RTS -N возможно изменять в рантайме с помощью Control.Concurrent.setNumCapabilities, RTS options for SMP parallelism;
  • новое расширение ExplicitNamespaces, которое разрешает ограничивать экспорт типов с ключевым словом type;
  • изменено поведение расширения TypeOperator;
  • добавлена возможность вывести экземпляры Generic1 автоматически, Generic programming;
  • новое соглашение о вызовах FFI capi, включаемое через расширение CAPI;
  • новая прагма CTYPE, используемая с CAPI;
  • новое расширение InstanceSigs, которое разрешает типам сигнатур быть специфицированными в instance;
  • GHC поддерживает числовые и строковые (включаемые через DataKinds) и символьные литералы, Promoted Literals;
  • тип Any может быть использован как аргумент для foreign prim functions;
  • ключевое слово mdo вновь введено. Оно может быть использовано для создания do-выражения с рекурсивными привязками. Поведение ключевого слова rec было изменено;
  • новая синтаксическая конструкция (включаемая через расширение LambdaCase) для создания анонимной функции из case-выражения, Lamda-case;
  • исправление ошибок и улучшение производительности.

>>> Подробности

 , ,

encyrtid
()

Glasgow Haskell Compiler 7.4.2

Группа Open Source

Вышла новая версия GHC 7.4.2 — одного из самых мощных и развитых на сегодняшний день компиляторов функционального языка программирования Haskell, который разрабатывается свободной рабочей группой из многочисленных разработчиков, собранных по всему миру и координируемых из лаборатории университета Глазго.

7.4.2 — bugfix-релиз, исправлено более 30 различных ошибок в компиляторе, интерпретаторе и библиотеках.

Подробный список изменений

>>> Подробности

 , ,

encyrtid
()

Вышел пятый выпуск Haskell Platform

Группа Open Source

Вчера, 3 июня, спустя примерно полгода со времени предыдущего релиза, вышел пятый (за номером 2012.2.0.0) выпуск Haskell Platform — простого в установке окружения разработки для языка Haskell.

( читать дальше... )

>>> Подробности

 , , , ,

quasimoto
()

Вышел GHC 7.4.1

Группа Open Source

Вышел GHC 7.4.1 – новый релиз компилятора функционального языка программирования Haskell. Это первый релиз стабильной ветки 7.4, которая станет основой для будущих версий платформы Haskell. Предыдущая ветка 7.2 была скорее полигоном для новых идей.

Основные изменения по сравнению с веткой 7.0:

  • Класс типов Num более не наследуется от классов Eq и Show. Как следствие, многие функции получили явные ограничения Eq и Show.
  • Новая возможность Safe Haskell (-XSafe, -XTrustworthy, -XUnsafe). Позволяет ввести более строгую проверку безопасности типов во время компиляции, а также служит для компиляции и выполнения «ненадёжного» кода.
  • Новая возможность полиморфизм видов (kind polymorhphism) (-XPolyKinds).
  • Новая возможность виды-ограничения (constraint kinds) (-XConstraintKinds). Любой тип вида Constraint может использоваться как ограничение типа.
  • Теперь можно задавать любые объявления в строке ввода ghci.
  • Реализации профилирования и hpc (проверки покрытия кода программ) были объединены и капитально переработаны.
  • Теперь можно писать плагины для компилятора.
  • Поддержка DPH (Data Paralell Haskell) значительно улучшена.
  • Предварительная поддержка регистровой (registerised) компиляции для платформы ARM, использующей LLVM.

>>> Подробности

 , ,

pitekantrop
()

Вышел в свет GHC 7.4.1 RC1

Группа Open Source

21 декабря вышел в свет релиз-кандидат GHC (Glasgow Haskell Compiler) - одного из самых мощных и развитых на сегодняшний день компиляторов функционального языка программирования Haskell, который разрабатывается свободной рабочей группой из многочисленных разработчиков, собранных по всему миру и координируемых из лаборатории университета Глазго.

Доступны исходные коды, установщики для Windows и Mac OS X, а также бинарные сборки для amd64/Linux, i386/Linux, amd64/FreeBSD и i386/FreeBSD.

Среди нововведений можно отметить:

  • kind polymorphism (-XPolyKinds).
  • Создание плагинов для компилятора.
  • Предварительная поддержка трансляции с использованием LLVM на ARM-платформу.

>>> Подробности

 , ,

ymn
()

Glasgow Haskell Compiler 7.2.1

Группа Open Source

Вышла новая версия GHC 7.2.1 - одного из самых мощных и развитых на сегодняшний день компиляторов функционального языка программирования Haskell, который разрабатывается свободной рабочей группой из многочисленных разработчиков, собранных по всему миру и координируемых из лаборатории университета Глазго.

Основные изменения, по сравнению с предыдущей версией 7.0.4:

  • Значительно улучшена поддержка DPH (Data Parallel Haskell);
  • Добавлена реализация «Safe Haskell»;
  • Добавлена возможность написания плагинов для компилятора;
  • Новые расширения для языка;
  • Изменения в компиляторе, интерпретаторе и рантайме;
  • Множество различных обновлений.

Changelog

>>> Подробности

 , ,

encyrtid
()

Вышел GHC 6.12.1

Группа Open Source

Тихо и незаметно вышел в свет очередной релиз компилятора GHC ленивого функционального языка Haskell. К существенным изменениям по сравнению с предыдущим релизом следует отнести:

  • Существенно улучшена поддержка параллельного выполнения.
  • Разработана графическая утилита ThreadScope, позволяющая эффективно отлаживать параллельные приложения на Haskell.
  • Добавлена поддержка динамического связывания под Linux; ожидаемым результатом является значительное уменьшение размеров бинарных файлов. Отмечается, что это также позволит создавать на Haskell плагины, которые могут быть использованы из сторонних приложений.
  • В библиотеки ввода-вывода добавлена полная поддержка Unicode, соответственно работа с файлами, содержащими не-ASCII символы, теперь не требует дополнительных усилий со стороны программиста.
  • Значительно улучшена система пакетов; каждый установленный пакет отныне однозначно идентифицируется уникальным идентификатором, основанным на предоставляемом ABI - что позволяет оптимизировать установку пакетов, а так так же избежать ряда ошибок, связанных с нарушениями зависмостей между ними.
  • Множество мелких изменений языка, затрагивающих работу с типами данных (GADT'ы, Type Families), системой метапрограммирования Template Haskell, и рекурсивной do-нотацией.

GHC написан на Haskell, является продуктом с открытым исходным кодом, распространяется по BSD-like лицензии.

Скачать новый релиз можно здесь: http://www.haskell.org/ghc/

>>> Подробности

 , ,

jtootf
()

Glasgow Haskell Compiler 6.10.1

Группа Open Source

Вышел долгожданный релиз наиболее распространенного компилятора языка Haskell — Glasgow Haskell Compiler 6.10.1.

В новой версии:

И многое другое!

Страница GHC

>>> Анонс

 ,

pierre
()

Sun сотрудничает с Haskell.org

Группа Open Source

Haskell.org и Sun Microsystems анонсировали совместный проект по использованию возможностей новейших высокопроизводительных систем на базе многоядерных процессоров OpenSPARC с применением языка Haskell. Sun выделила сообществу Haskell мощный восьмиядерный SPARC Enterprise T5120 Server и 10 000 долларов на развитие Haskell на платформе SPARC. Цель проекта - оптимизировать генерацию машинного кода в GHC на процессорах Sun и улучшить бенчмарки, связанные с параллельными вычислениями.

>>> Подробности

 , , ,

xTERM
()