LINUX.ORG.RU

GHC 8.0.1

 ,


4

8

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

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

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

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

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

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Psych218 (всего исправлений: 5)
Ответ на: комментарий от Int0l

Если отказ от поддержки легаси-говна, которое давно не поддерживается самим разработчиком — это что-то плохое, то у меня для Вас плохие новости...

Softwayer ★★
()
Ответ на: комментарий от nezamudich

я в общем не про животных, а про употребление в русском языке слова «вид». и почему это слово здесь подходит. есть пример лучше и понятней - скажи, не стесняйся.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

ИМХО же.

да я понимаю, просто интересно. вроде нормально звучат..

MonadFail Proposal

Надо поглядеть. У меня лишь смутные сомнения по поводу того как это должно быть. Спасибо за наводку.

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

Вид... — реально существующая генетически неделимая единица живого мира)))

Spektrdp
()

Маргинальщина!

В мини-новости.

soslow
()
Ответ на: комментарий от hateyoufeel

MAJOR.MINOR.PATCH

ты имел ввиду минорный релиз?

h4tr3d ★★★★★
()
Ответ на: комментарий от Pavval

GHC 8.0.1? Да, собираемся потихоньку переезжать на него. АПВС?

ymn ★★★★★
()

Если честно, годная штука, не знаю как там программы писать в продакшн, но интеллект развивает хорошо. Мозги этот язык точно вставляет, прямо по другому на мир начинаешь смотреть.

serhey
()
Ответ на: комментарий от Int0l

Windows XP более не поддерживается.

Круто. Они даже xp не осилили.

Вот то ли дело продукты Microsoft, wait... OH SHI.

nezamudich ★★
()

Расширения Strict и StrictData, отключающие ленивое вычисление кода и данных соответственно в пределах модуля.

Выглядит как начало конца одной из главных идей Хаскеля

ierton ★★
()
Ответ на: комментарий от serhey

Шота гдета слышал, что императивщина от машины к человеку, а функциональщина - от человека к машине. И гдета будет золотая середина (говорят, скоро).

kedr
()
Ответ на: комментарий от h4tr3d

Да :)

В пределах одной MAJOR версии GHC API, синтаксис языка и MAJOR версии базовых библиотек не должен меняться.

https://wiki.haskell.org/Package_versioning_policy#Version_numbers

SUPER-MAJOR сам по себе не имеет особого смысла но иногда вторая цифра заходит слишком далеко :)

GHC 6.12 -> 7.0 связали с Haskell2010

GHC 7.10 -> 8.0 связали с DependentHaskell ( https://ghc.haskell.org/trac/ghc/wiki/DependentHaskell )

sf ★★★
()
Ответ на: комментарий от ierton

Я думаю, наоборот. Отделят сразу модулем, удобство же.

kedr
()

Новое расширение DuplicateRecordFields, позволяющее использовать в различных типах поля с одинаковыми именами.

А как люди без этого вообще что-то писали? Или я не так понимаю? Какой-нибудь fistName может быть в миллионе разных классов.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

А как люди без этого вообще что-то писали?

Да в общем-то, без особых проблем. Области видимости и вся фигня. Это скорее небольшая плюшка чем мегафича.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от Legioner

Какой-нибудь fistName может быть в миллионе разных классов.

Разбивали на модули.

monk ★★★★★
()

рекурсивных суперклассов.

Кто-нибудь может в двух словах объяснить, что это (в духе ELI5)?

Ну ладно, в двух словах «рекурсивный суперкласс» объясняется как «рекурсивный суперкласс»; пусть будет 10-20 слов =)

amix ★★★
()
Ответ на: комментарий от serhey

Если честно, годная штука, не знаю как там программы писать в продакшн, но интеллект развивает хорошо. Мозги этот язык точно вставляет, прямо по другому на мир начинаешь смотреть.

Да так и есть. На “мир" начинаешь смотреть как на мир ().

necromant ★★
()
Ответ на: комментарий от Esper

Логическое мышление доступно детям старше 12 лет.

У Ышпера - не может быть, это да. А вот в Хаскеле - может.

Дегенератушко, когда научишься адекватно воспринимать информацию - почитай про именованные поля в определении языка Хаскель.

anonymous
()

У Ышпера - не может быть, это да.

Не пойму, что ты этой фразой хотел сказать.

А вот в Хаскеле - может.

Деточка, когда дорастёшь до 12 лет, прочитай определение класса и осознай, что не может, потому что классов в Хаскеле нет.

Esper
()
Ответ на: комментарий от anonymous

Ну ладно, в матчасть и терминологию цацкеледети не умеют, это ясно. Расскажи тогда хоть, кто такие Ышперы.

Esper
()
Ответ на: комментарий от Esper

Это тайпкласс/трейт, приблизительный аналог оопэшного интерфейса/миксина. Плохая попытка.

С каких пор терминология ООП релевантна где-либо за пределами собственно ООП?

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от Esper

Ну покажи, где в IT этот термин употребляется в не-оопэшном значении.

GHC 8.0.1 (комментарий)

К тому же, крайне забавным является тот факт, что в разных языках с ООП классами называются довольно разные вещи. Сравни классы в C++, Smalltalk и CLOS.

А так, классы в Haskell вполне подходят под определение классов из теории множеств. Как и классы из ООП.

hateyoufeel ★★★★★
() автор топика
Ответ на: комментарий от hateyoufeel

Я уже написал, что это - тайпкласс. То, что там ключевое слово class, ничего не значит. Питонисты же не стали называть функции def'ами.

в IT

определение классов из теории множеств

\0

Esper
()

Хорошая новость. Жду, когда появится Haskell Platform.

dave ★★★★★
()

Новое расширение DuplicateRecordFields, позволяющее использовать в различных типах поля с одинаковыми именами

Пустил слезу

vertexua ★★★★★
()
Ответ на: комментарий от Esper

не может, потому что классов в Хаскеле нет.

Какое вообще отношение имеют классы к именованным полям? В Си, например, классов нет, из этого следует, что в структурах Си не могут быть поля с одинаковыми именами? Или что на структурах Си или в Хаскеле невозможно описать классы ООП (если уж речь именно про описание ООП-классов)?

monk ★★★★★
()

Ураааа! Новый ленивый фунциональный язык!

Наконец-то хоть какая-то альтернатива ghc-7.10

qnikst ★★★★★
()
Ответ на: комментарий от monk

http://htmlbook.ru/samcss/klassy

Убедил. А если сузить область со всего IT до программирования, сможешь привести?

Какое вообще отношение имеют классы к именованным полям?

Какой-нибудь fistName может быть в миллионе разных классов.

не может, потому что классов в Хаскеле нет.

Так понятней?

Esper
()
Ответ на: комментарий от Esper

прочитай определение класса и осознай, что не может, потому что классов в Хаскеле нет.

Не хватает ссылки на «определение» :) А то слово есть, а класса нету.

sf ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.