LINUX.ORG.RU

Glasgow Haskell Compiler 6.8.1


0

0

Вышла новая стабильная версия свободного компилятора языка Haskell — GHC 6.8.1.

  • Добавлен отладчик в GHCi
  • Проведена работа по реогранизации основных библиотек
  • Профилирующий инструментарий Haskell Program Coverage для оценки покрытия кода
  • Множество других изменений
GHC включает в себя оптимизирующий компилятор, создающий код для нескольких платформ, который также может работать в интерактивном режиме (GHCi), средства профилирования, множество библиотек, а так же интерфейсы к другим языкам программирования.

Набор GHC доступен для GNU/Linux, *BSD и альтернативных ОС.

>>> Release notes

Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от balodja

Re: Glasgow Haskell Compiler 6.8.1

>А со стороны языка такая поддержка думаю не скоро будет.

Стоп. То есть это язык обязывает делать бинарники по 100 мегабайт?

Midael ★★★★★ ()

Re: Glasgow Haskell Compiler 6.8.1

> Набор GHC доступен для GNU/Linux, *BSD и альтернативных ОС.

Как я понимаю, альтернативная ОС - это Windows?

musha-route ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от balodja

Re: Glasgow Haskell Compiler 6.8.1

> Ну, hs-plugins есть уже очень давно. А со стороны языка такая поддержка думаю не скоро будет.

не надо ляля, все уже есть давным-давно

http://hackage.haskell.org/trac/ghc/wiki/Commentary/PositionIndependentCode

http://hackage.haskell.org/trac/ghc/wiki/DynamicLinking

http://hackage.haskell.org/trac/ghc/wiki/SharedLibraries

anonymous ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от ero-sennin

Re: Glasgow Haskell Compiler 6.8.1

> Когда оно разделяемые библиотеки научится?

уже может. Но еще не все там налажено, насколько мне известно

pierre ()

Re: Glasgow Haskell Compiler 6.8.1

Отличная новость!! Прямо настроение поднялось :)

Ждем стабильных dll и поддержки solaris x86_64, fbsd x86_64...

AiLr ★★ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от eR

Re: Glasgow Haskell Compiler 6.8.1

> винда это не alt os

Ну Вы еще скажите что вендекапеца не было...

По теме: эээ... ждем ебилдов! Еще бы slotted оно было, а то с 6.4 на 6.6 переход был довольно неприятным...

anonymous ()

Re: Glasgow Haskell Compiler 6.8.1

s/оптимизирующих компилятор/оптимизирующий компилятор

nu11 ★★★★★ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от fyrer

Re: Glasgow Haskell Compiler 6.8.1

>gcc копец назревает??

Конечно! Вот перепишут ядро на хаскелле и гццкапец.

Midael ★★★★★ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от mono

Re: Glasgow Haskell Compiler 6.8.1

Капец, вероятнее всего, самому Хаскелю. Императивный код на нём -- тихий ужас; библиотеки, предоставляющие всяческую императивную функциональность -- УЖАС.

anonymous ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от anonizmus

Re: Glasgow Haskell Compiler 6.8.1

>А зачем ??? оно естественно параллелится.

anonymous ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от anonizmus

Re: Glasgow Haskell Compiler 6.8.1

>> Интересно, когда на лиспе/хаскелле начнут писать 3д-игрушки? :)

> А зачем ???

Затем, что это какой-никакой, но показатель. ;-)

Bohtvaroh ★★★★ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от Bohtvaroh

Re: Glasgow Haskell Compiler 6.8.1

>Затем, что это какой-никакой, но показатель. ;-)

чего показатель ? Теперь крутизна языка меряется не по его нише - а по тому пишут ли на нем быдлоигрушки ?

anonizmus ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от anonizmus

Re: Glasgow Haskell Compiler 6.8.1

> чего показатель ? Теперь крутизна языка меряется не по его нише - а по тому пишут ли на нем быдлоигрушки ?

Показатель того, что язык годится не только как альтернатива сексу для красноглазых фанатиков, не важно, игрушки это или что-то ещё.

> быдлоигрушки ?

быдлоanonizmus ?

Bohtvaroh ★★★★ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от Bohtvaroh

Re: Glasgow Haskell Compiler 6.8.1

>Затем, что это какой-никакой, но показатель. ;-)

По вашей логике все языки кроме цпп - атстой. Потому что 99% игрушек для ПК пишут на нем.

Sidrian ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от Sidrian

Re: Glasgow Haskell Compiler 6.8.1

> По вашей логике все языки кроме цпп - атстой. Потому что 99% игрушек для ПК пишут на нем.

Да нет, просто мне показалось, что раз уж зашла речь о разделяемых библиотеках и компиляторе в нативный код (поправьте, если я не прав, ибо по ссылке не ходил), то 3д приложения как раз неплохо подходят в качестве демонстрации всех этих возможностей. Ну а цпп вообще на ЛОРе персона нон грато. :))

Bohtvaroh ★★★★ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от Bohtvaroh

Re: Glasgow Haskell Compiler 6.8.1

>раз уж зашла речь о разделяемых библиотеках и компиляторе в нативный код , то 3д приложения как раз неплохо подходят в качестве демонстрации всех этих возможностей

а функциональщина неплохо подходит для демонстрации 3d приложений и многоядерников :)

Интересно, когда на Хаскелле станут писать шейдеры?

anonymous ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от anonymous

Re: Glasgow Haskell Compiler 6.8.1

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

Joe_Bishop ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от Joe_Bishop

Re: Glasgow Haskell Compiler 6.8.1

> Функциональщина идеально подходит для числодробилен - достаточно хорошо описать основные структуры (массивы) и операции над ними, и потом хорошо реализовать оптимизатор. Тогда за реализацией на ФЯ не угонится никакой фортран.

Тогда вопрос: почему этого до сих пор никто не сделал?

ero-sennin ★★ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от ero-sennin

Re: Glasgow Haskell Compiler 6.8.1

не знаю. Под реализацией массивов я имел ввиду спецификацию типов списков (простой линейный массив тоже список) и возможность описания всяких матричный структур.

Ну, затем оптимизатор должен распознавать ситуацию, что если объект A был отображен в объект B, и затем A больше нигде не используется, то строить новый B не нужно, а достаточно просто изменить A.

Joe_Bishop ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от Joe_Bishop

Re: Glasgow Haskell Compiler 6.8.1

вообще, численные алгоритмы описываются обычно в функциональном стиле:

Метод Гаусса. Берём элемент a_{11}, прибавляем к строкам 2..n 1-ую, умноженную на -\frac {a_{i1}} {a_{11}} - это list comprehension, потом рассматриваем подматрицу A, полученную вычеркиванием 1-ых строки и столбца, и применяем алгоритм к ней. Для матрицы размерности 1 не делаем ничего.

Joe_Bishop ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от Bohtvaroh

Re: Glasgow Haskell Compiler 6.8.1

2Bohtvaroh (*) (04.11.2007 22:32:10):

Интересно, когда на лиспе/хаскелле начнут писать 3д-игрушки? :)

На Хаскеле нескоро, в силу непрактичности языка. На Лиспе, например,

http://en.wikipedia.org/wiki/Naughty_Dog

anonymous ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от Joe_Bishop

Re: Glasgow Haskell Compiler 6.8.1

Да!

Недавно точно такую реализацию на схеме по чисмет.-лабам сдавал. Только ещё выбор a_{11} надо добавить.

Очень большое количество математики функционально по определению, а все алгоритмы рекурсивны!

Sphinx ★★☆☆ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от Joe_Bishop

Re: Glasgow Haskell Compiler 6.8.1

2Joe_Bishop (*) (04.11.2007 23:48:31):

>> Функциональщина идеально подходит для числодробилен - достаточно хорошо описать основные структуры (массивы) и операции над ними, и потом хорошо реализовать оптимизатор. Тогда за реализацией на ФЯ не угонится никакой фортран.

Да-да. Свежо предание. Ждите ещё лет 50. Числодробильню на ленивом Хаскеле с непредсказуемым временем выполнения задачи. Насмешили. Лучше уж Common Lisp. Пошустрее будет. На Хаскеле не то что числодробильню, несчастный darcs через заднее место приходится оптимизировать, забывая про красоту ФЯ :-)

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

anonymous ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от Midael

Re: Glasgow Haskell Compiler 6.8.1

2Midael (*) (04.11.2007 20:15:32):

>> А со стороны языка такая поддержка думаю не скоро будет. > Стоп. То есть это язык обязывает делать бинарники по 100 мегабайт?

А что Вас так волнует? Вы его на программируемом калькуляторе собираетесь гонять? Если у Вас крупный серьёзный проект, какая нафиг разница, 10 мегабайт бинарник или сто? Здесь другие критерии важны.

anonymous ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от anonymous

Re: Glasgow Haskell Compiler 6.8.1

2anonymous (*) (04.11.2007 22:39:04):

>> 3d рейтрейсер вроде был на Хаскелле. http://www.ffconsultancy.com/languages/ray_tracer/benchmark.html

И что, что 3d рейтрейсер на Хаскелле? Единственное его назначение там -- это пропиарить OCaml, который толкает всем Jon Harrop.

Идёте немного дальше и радуетесь, зачем он там есть:

http://www.ffconsultancy.com/languages/ray_tracer/results.html

anonymous ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от Joe_Bishop

Re: Glasgow Haskell Compiler 6.8.1

>Функциональщина идеально подходит для числодробилен - достаточно хорошо описать основные структуры (массивы) и операции над ними, и потом хорошо реализовать оптимизатор. Тогда за реализацией на ФЯ не угонится никакой фортран.

Оптимизатор говоришь... Тут ведь такое дело --- способ оптимизации зависит также и от данных к которым применяется алгоритм. А они на этапе компиляции не известны (в качестве тупого примера могу привести операции с матрицами, там оптимальные алгоритмы зависят от размера этих матриц). Ну а обогнать фортран и С не получится --- чудес не бывает. Функциональный подход замечателен тем, что существенно упрощает написание программы. Если надо выжать из железа все, то использовать для этого Haskell --- безумие. Я готов признать свою ошибку, если кто-нибудь изготовит подобие BLAS на хаскеле, который будет работать в 2 раза быстрее самой быстрой реализации на С или фортране.

anonymous ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от anonymous

Re: Glasgow Haskell Compiler 6.8.1

да не, в 2 раза это уже грубо. Достаточно будет, если смогут сделать, чтобы работало так же быстро как самая быстрая реализация на си или фортране. И при этом трудозатраты на написание должны быть в итоге меньше.

AndreyKl ★★★★★ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от anonymous

Re: Glasgow Haskell Compiler 6.8.1

Я не пишу численные программы на хаскеле или любом другом функциональном языке. Я лишь описываю алгоритмы на (фактически на хаскеле + несколько фишек). По такому виду алгоритма очень хорошо видны пути оптимизации, и он очень хорошо перекладывается на C и указатели.

> (в качестве тупого примера могу привести операции с матрицами, там оптимальные алгоритмы зависят от размера этих матриц)

блочные алгоритмы тоже замечательно описываются на ФП. Имхо, намного удобнее чем на любом императивном.

> Числодробильню на ленивом Хаскеле с непредсказуемым временем выполнения задачи.

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

Joe_Bishop ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от anonymous

Re: Glasgow Haskell Compiler 6.8.1

> Тут ведь такое дело --- способ оптимизации зависит также и от данных к которым применяется алгоритм. А они на этапе компиляции не известны (в качестве тупого примера могу привести операции с матрицами, там оптимальные алгоритмы зависят от размера этих матриц).

блочный и "обычный" алгоритмы - два разных алгоритма. Требовать от компилятора, чтобы он по "обычному" построил блочный глупо, у них разные определения.

Joe_Bishop ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от anonymous

Re: Glasgow Haskell Compiler 6.8.1

> Императивный код на нём

Анонимус! При всём моём к тебе уважении, писать императивный код на Хаскелле - это надо сильно удариться головой об угол.

ManMachine ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от anonymous

Re: Glasgow Haskell Compiler 6.8.1

> Я готов признать свою ошибку, если кто-нибудь изготовит подобие BLAS на хаскеле, который будет работать в 2 раза быстрее самой быстрой реализации на С или фортране.

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

balodja ★★★ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от ManMachine

Re: Glasgow Haskell Compiler 6.8.1

> писать императивный код на Хаскелле - это надо сильно удариться головой об угол.

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

balodja ★★★ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от balodja

Re: Glasgow Haskell Compiler 6.8.1

2balodja (*) (05.11.2007 6:36:45):

>> писать императивный код на Хаскелле - это надо сильно удариться головой об угол.

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

Тут много анонимусов, всех не упросишь. Но с тем, кто сказал, что писать на Хаскеле императивный код -- это коряво, я согласен. И без того синтаксис уродский, а уж императивщина вообще выглядит ужасно. У чисто функциональных языков нет никаких особенных преимуществ перед языками гибридными, вроде Common Lisp. Скорее больше недостатков. Во всяком случае жизнь показывает, что серьёзных проектов на Хаскеле не сделаешь. Разве что сам компилятор GHC, ну так в него сколько ресурсов вбухано. У Microsoft денег много :-) При попытке писать функционально "красиво" получаем захлёбывающийся darcs, где, чтобы не утонуть, про красивость как-то пришлось забыть.

Практичные и в то же время красивые языки -- это Common Lisp, Ruby и Python. При чём в первом уже давно есть всё, что только появилось или появляется в более молодых языках.

anonymous ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от anonymous

Re: Glasgow Haskell Compiler 6.8.1

> Практичные и в то же время красивые языки -- это Common Lisp

Практичный — согласен, но красивым его называть — это перебор. Отдельные пространства имён для функций и переменных, но при этом нет отдельных пространств имён для отдельных модулей. Древняя спека, которая никогда не обновится. Да ещё и имена библиотечных функций там выбраны с изрядной долей циничной фантазии: за DEFUN, SETQ и RPLACA хочется найти старину Маккарти, взять за шиворот, отволочь в Эрмитаж, и не выпускать, пока у отмороженного быдломатематика не пробудится, наконец, чувство гармонии и красоты. Лучше поздно, чем никогда!

ero-sennin ★★ ()
Ответ на: Re: Glasgow Haskell Compiler 6.8.1 от ero-sennin

Re: Glasgow Haskell Compiler 6.8.1

> за DEFUN, SETQ и RPLACA хочется найти старину Маккарти, взять за шиворот, отволочь в Эрмитаж, и не выпускать, пока у отмороженного быдломатематика не пробудится, наконец, чувство гармонии и красоты.

Eto old-school.

from PCL:

When the place given to SETF is a CAR or CDR, it expands into a call to the function RPLACA or RPLACD; some old-school Lispers—the same ones who still use SETQ—will still use RPLACA and RPLACD directly, but modern style is to use SETF of CAR or CDR.

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