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.

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

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

У тинькова на нем сервис путешествий написан.

anonymous ()

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

Скоро еще релиз scala3.

Ван Клиберн

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

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

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

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

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

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

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

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

anonymous ()

С одной стороны, вроде годнота. Потомучтокрасиво. А с другой - список продакшена не впечатляет.

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

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

Reset ★★★★★ ()

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

MOPKOBKA ()

Одного pandoc достаточно, чтобы говорить о том, что Haskell занял своё место в истории программирования.

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

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

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

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

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

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

Ложь. Среди языков с GC хаскель довольно быстр. Всякие там жабы с дотнетом на одном уровне по скорости

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

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

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

Ну знаю я только жс, и что, хескелю от этого лучше? Ничем я не горжусь, лишь не понимаю где тут красивость, просто неюзабельный язык, свалка недофич.

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

Ну знаю я только жс, и что,

Это было и так понятно. Мог бы не пояснять.

hateyoufeel ★★★★★ ()

Вот бы добавили в хаскель специализацию реализации тайпклассов (или уже я просто не в курсе?). Ну типа

instance (Monad Int) (Maybe Int) where
    Nothing  >>= f = Nothing
    (Just 0) >>= f = Nothing
    (Just x) >>= f = f x
    return 0       = Nothing
    return x       = Just x
q0tw4 ★★★★ ()
Ответ на: комментарий от beck

Одного pandoc достаточно, чтобы говорить о том, что Haskell занял своё место в истории программирования.

Недостаточно.

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

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

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

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

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

Это почти лестное сравнение, ведь паскаль был довольно популярен.

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

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

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

Угу. Жаль для Murg места не нашлось, не влезла )))

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

Для вычисления факториалов и чисел Фибоначи.

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

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

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

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

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

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

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

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

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

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

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