LINUX.ORG.RU

GHC 9.0.1

 , ,


0

3

Вышла новая версия компилятора языка 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.

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

Ответ на: комментарий от Rodegast

Ура! Когда подвезут зависимые типы из коробки?

Надеюсь, примерно никогда. Ну либо в Haskell2, в котором будет основательно сломана совместимость. С другой стороны, уже есть Idris.

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

Это не нужно. Пиши на Обероне, анон.

Хочу лишь добавить, здесь просто необходимо вставить копипасту про Вирта:

История Вирта очень трагичная, братюни. Начиналось все хорошо:
Хоар сказал: «В Алгол нужно добавить ссылки с нуллами»
А Вирт сказал: «Мы с Хоаром считаем, что в Алгол нужно добавит ссылки, да с такими-то нуллами»
Потом Хоар сказал: «Алгол 68 сосет»
И Вирт, конечно, сказал: «Мы с Хоаром ваш Алгол 68 в рот %&^ли, пи*^&% комитетские!!111»
А потом Хоар внезапно сказал: «Анаморфизм, катаморфизм, иломорфизм, параморфизм, наконец»
И Вирт сказал:«Ана-што? Иломорфизм? %&е-мое! Так, падажжи, е%&*^а, Карри же был моим научруком, параморфизм? Ах тыж е*&^%$й ты н*&^*й!
АЛГОЛ 68 СОСЕТ!!!111 ССЫЛКИ ДА С ТАКИМИ-ТО НУЛЛАМИ!!!111 АЛГОЛ 68 СОСЕТ!! СОСЕТ АЛГОЛ 68 !!11111»
Ну, так с тех пор и повторяет.
hateyoufeel ★★★★★ ()
Последнее исправление: hateyoufeel (всего исправлений: 2)
Ответ на: комментарий от anonymous

МС там как бантик сбоку. злобные капиталисты не дали профессуре пишущей академический опен сорс код не сдохнуть с голоду, но ЛОР все равно негодует.

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

Очевидно, что в продакшене будет то, что дают на хайповых курсах типа «Сделаем из тебя программиста на X за 21 день». Но кого это волнует? И кого волнует этот «продакшен» с одинаковыми быдло-сайтами с одной формой и двумя кнопками.

Reset ★★★★★ ()

Медленный язычек, который трудно читать, на котором трудно писать, и на котором очевидно ничего не написано. Вот она настоящая красота, и илита, кто то хочет поспорить с его неповторимым превосходством?

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

можно ощущать себя ылитой и угнетенным меньшинством и жаловаться на белых цисгендерных программистов на С++, к

Что это еще за новости такие, штангисты всегда сами кого хочешь угнетали, а уж плюсистов вообще моментом затыкали.

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

Ну совсем ахинею пишешь ;)

В корень смотри! Пацаны на все бабки мира повлияли. Или ты думал, .Net просто так родился? А TS доже от одного пацанчика? Годная сказочка…

Продакшен ;) Один Xmonad зохавал многомониторные конфиги, когда это нонсенс был.

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

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

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

на самом деле нет, относительно его качеств, он довольно быстр

Я не знаю как оценивать скорость относительно качеств, но на самом деле он медленный, какие то дополнительные свойства ему не помогут магически сделаться быстрым. Я понял о чем ты.

по сложности чтения кода, он уровня с++

Ну если только сравнивать с шаблонным кодом буста. Я проводил эксперименты на хескелистах, даже на ЛОРе с кем то, брал кусок из GHC и просил объяснить что он делает. Не могут объяснить.

помогает не делать ошибок в виду своей природ

Ну не знаю, перенес ты стейт из структур в аргументы, лучше что ли стало? Сейчас у C/C++ есть продвинутые анализаторы, у С++ статическая типизация, в каждый компилятор по анализатору встроено, а у Haskell?

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

Я проводил эксперименты на хескелистах, даже на ЛОРе с кем то, брал кусок из GHC и просил объяснить что он делает. Не могут объяснить.

Интересно, как много из них тебя просто нахер послали?

hateyoufeel ★★★★★ ()