LINUX.ORG.RU

Вышел GHC 6.12.1

 , ,


0

0

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

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

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

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

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

> Существенно улучшена поддержка параллельного выполнения

А можно (пока тут обсуждение Java vs Lisp vs C++ не началось) для неспециалистов подробнее рассказать, пожалуйста?

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

А можно (пока тут обсуждение Java vs Lisp vs C++ не началось) для неспециалистов подробнее рассказать, пожалуйста?

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

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

> GNU Hadron Collider

Здесь «G» не от «GNU», а от «Glasgow».

Ruth ★★
()

>Добавлена поддержка динамического связывания под Linux;

Не прошло и десяти лет.

volh ★★
()

Еще одно функциональное поделие для очкариков-красноглазиков, не наигравшихся в детстве с калькулятором? Нет уж, жрите сами свой кактус. /me: подумываю об организации сайта StopLambda.org.ru

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

>/me: подумываю об организации сайта StopLambda.org.ru

А зачем, уже все есть. Прими философию общения, стань разработчиком РусОС.

Хорошо?

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

> А можно ли поинтересоваться, какой язык по вашему есть не_кактус? =) PHP

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

> Нет уж, жрите сами свой кактус

Вас кто-то заставляет?

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

Черт, столько анонимусов и все советуют разное. Я в растеряности.

Waterlaz ★★★★★
()

Анонимусы жгут! Вброс говна зачётный! ;)

Новость радует. Haskell (с расширениями GHC) и LISP, пожалуй, самые красивые языки.

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

> GNU Hadron Collider

Зачем что-то выдумывать? Есть LHC Haskell Compiler.

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

>Haskell (с расширениями GHC) и LISP, пожалуй, самые красивые языки.

Разве может быть что-то прекраснее языка Eiffel? (www.eiffel.com) Для web-разработки можно посоветовать Curl (не путать с cUrl): www.curl.com

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

лень

>Чё-то мне его лень качать.

Скачаешь когда и если он тебе действительно понадобится — в этом суть ленивых языков.

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

>>Добавлена поддержка динамического связывания под Linux;

Не прошло и десяти лет.

Думаю, до того, как Haskell стали применять в коммерческих разработках, это никому сильно нужно не было. Эту фичу профинансировали коммерческие пользователи Haskell через Industrial Haskell Group.

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

> пока тут обсуждение Java vs Lisp vs C++ не началось

А оно не начнется.

Тут все для себя уже давно все выяснили, разжевали, отрыгнули и снова пережевали. Вон взгляните на соседний лиспотред. Вроде все сектанты-мракобесы в сборе: тамошний топикстартер, тутошний топикстартер, Питекантроп, однобуквенный... не хватает только колоритного kemm'а (куда он подевался? всегда меня развлекал) и Сфинктера. И что получилось? Уныл-тред с умозрительными философствованиями на несколько страниц.

Просто первое поколение укушенных Луговским уже перебесилось и повзрослело, а для новичков имя «проФФессора» - не больше чем смешной местечковый мем. Как, собственно, и Лисп с Хаскелем.

А может, тому треду просто не хватило немного Саныча.

Kuka ★★
()
Ответ на: комментарий от Mihai-gr

> И как там с поддержкой Haskell 2010?

Взлетит в 6.14. (Это не время, а нумер версии.)

anonymous
()

>Добавлена поддержка динамического связывания под Linux

В библиотеки ввода-вывода добавлена полная поддержка Unicode


Начинался 2010 год...

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

> Рад за наркоманов.

А ты прав. :) Теперь у меня время от времени возникает необходимость попедалить что-то хотя бы на Scala. Потом возвращаюсь на жабу, и начинается жесткая ломка.

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

> Рад за наркоманов.

Скорблю об регистрантов. За исключением Саныча.

anonymous
()

Судя по описанным изменениям, теперь GHC можно пользоваться?

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

А оно не начнется.

тебе просто нечего сказать, признай это и смирись

ну или расскажи про Fortress и high programmability, наконец. за столько-то времени уж точно была возможность подготовиться

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

я привел это в пример, ибо не совсем уверен в гцц, но скорее всего и он тоже, так ведь?
(насчет нельзя пользоваться поспорил бы, применяю и тот и другой)

val-amart ★★★★★
()
Ответ на: комментарий от volh

Сделал столько вкусностей почему-то забыли сделать такую простую вещь как добавить обновление cabal в процессе установки. Итого старая версия GHC уже снесена установщиком, а новая версия не юзает cabal, потому что его нужно обновить, а обновиться он может только сам и только используя предыдущую версию.

З.Ы. до сих пор не могу поднять хоть какую-нибудь либу для 2d-рисования на макоси, ибо всякие cairo работают с gtk, который уродский под макосью, а биндинги к SDL не ставятся, вот и пляшу с бубном уже второй день.

Хороший язык, хороший компилятор, но не хватает вылизанности практически во всем.

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

> Haskell (с расширениями GHC) и LISP, пожалуй, самые красивые языки.

ИМХО Scheme красивее LISP. Хотя, что практичнее и полезнее - ещё вопрос.

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

Квест продолжается:
старый ghc на макось не ставится автоматом, если есть новый - при этом он что-то там делает, пишет, что копирует файлы, но не меняется ровным счетом ничего.

Пробуем поставить cabal не через cabal, а ручками - оно пишет, что не может пропарсить вывод ghc-pkg на этапе ./Setup configure.

Удаляем таки новый ghc, ставим старый ghc, ставим cabal и пробуем его обновить до 0.8 версии. И? И cabal радостно отвечает, что про такую версию и не знает. Заходим на hackage и действительно в последних видим 0.6.4.

Теперь я через скачанный статически слинкованный бинарник darcs'а (ну хоть его собирать не пришлось) вытягиваю Cabal из trunk'а, при этому репозиторий с мегабайтом сорцев вытягивается по 2 патча в секунду и патчей там 2393. Уж даже и не знаю, что там можно так дальше делать - git справляется с вытягиванием репозитория такого размера секунд так за 5.

Еще можно рассказать, что библиотеки в haskellе вылизаны только самые основные (то, что идет в поставке ghc) + всякие парсеры, сеть, HTTP.
Любая маломальски нестандартная либа типа соединения с базой представляет собой что-то, что или давно не обновлялось, либо с документацией вида прочитайте paper на 20 страниц и вы поймете, как использовать эту штуку, если конечно сможете ее у себя завести, либо кандидатскую какого-нибудь чувака, который ее один раз написал, получил степень и не заморачивается вообще.

Вывод для себя:
Haskell целесообразно использовать, когда задача алгоритмически сложная или со сложной моделью, как, например, у thesz'а.
В более приземленной работе haskell использовать невесело, ибо либо вы боретесь с альфа-версиями библиотек, или сильны духом и пишете их сами, а время увы не ждет.

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

> Scheme это LISP

Мне после соседнего треда везде CL вместо LISP мерещится.

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

>В более приземленной работе haskell использовать невесело, ибо либо вы боретесь с альфа-версиями библиотек, или сильны духом и пишете их сами, а время увы не ждет.

Это кстати да. Из того, что пробовал: биндинги к jack audio просто смешные(игрушка какая-то. Разве что пруф оф консепт), биндинги к ncurses(много кривых мест, недочетов, нерелизованых, но крайне нужных функций).

Кстати к ncurses я даже патчи отправлял(месяца два назад), да вот что-то глухо. Всем по***

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

> подумываю об организации сайта StopLambda.org.ru

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

VladimirP ★★★★
()
Ответ на: комментарий от val-amart

>>> GHC написан на Haskell

ого

ты будешь также удивлен, когда я скажу что pcc написан на Cи, а PyPy - на Питоне?

нет — они императивные

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