LINUX.ORG.RU

Glasgow Haskell Compiler 6.10.1

 ,


0

0

Вышел долгожданный релиз наиболее распространенного компилятора языка Haskell — Glasgow Haskell Compiler 6.10.1.

В новой версии:

И многое другое!

Страница GHC

>>> Анонс



Проверено: Shaman007 ()

Ура, ура! haskell for teh win! ^_^

Ждем дебы.

anonymous
()

математиков нужно гнать из программирования ссаными тряпками. всё, что они делают — неюзабельное сферическое говно.

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

понимать так, что ты сделал камень лучше? где купить?

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

а что, на лазаре кто-то пишет? бедняги… это надо быть сильным мазохистом, чтобы использовать VCL заместо Qt.

зыж йа паскализд.

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

>Или я чего-то недоперепонимаю?

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

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

>Ларии Уолл подойдёт?)

угу. для биореактора.

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

> > Может быть потому, что клин - вялоразвивающееся полузакрытое поделие, разрабатывающееся чрезвычайно узким кругом голландских укурков?

> Исходники лежат на фтп. Цена коммерческого использования - 75 euro.

> Это что, закрытое дорогое поделие? Да ну.

У кого о чем болит, да. Где в посте, на который ты отвечал, слово "дорогое"? man букварь, блин.

anonymous
()

Мое ИМХО: haskell классный функциональный язык! Для изучения функциональщины он самое то. НО, как мне кажеться, он останеться скорее для академического изучения, для обкатки идей, чем для индустриальной разработки. Я целый год копал Haskell и пытался на нем что-то полезное написать, не получилось. Монады убили все на корню. Реально замороченная вещь, которая вроде бы проста на первый взгляд и понятна, в процессе применения обернулась головной болью. А без них никак в реальных приложениях. . P.S. В итоге переполз на Erlang.

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

>Какую технологию тарволдс двигает ? Он вообще ничего принципиально нового в жизни не сделал... Реимплементатор он...

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

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

>математиков нужно гнать из программирования ссаными тряпками. >всё, что они делают — неюзабельное сферическое говно.

O RLY? Tell me more.

математик-кун

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

>математиков нужно гнать из программирования ссаными тряпками. всё, что они делают — неюзабельное сферическое говно.

Сейчас вы прослушали заявление быдлокодера от имени и по поручению Ассоциации Тупых Быдлокодеров (АТБ)

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

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

(не для флейма!) Можешь привести конкретные примеры? (Можно не в форум, а джаббер list.ru.list.ru собака gmail.com)

Что касается монад -- хорошая технология, но имхо ее портит нетрадиционный синтаксис хаскеля, и главное -- читаем википедию -- A monad for I/O operations is usually implemented in the language implementation rather than being defined publicly.

При том, что все практически библиотеки, написанные на С, или sql сервер не позволяют чисто функциональный подход и ЗНАЧИТ требуют чтобы кто-то добавил в хаскель монады, написанные НЕ_НА_ХАСКЕЛЕ -- это зверство.

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

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

www_linux_org_ru ★★★★★
()

А что можно почитать для осознания монад? Б большинстве туториалов -
"Посмотрим на ио и на стейт... Теперь вы поняли что есть монада."
Есть что-нибудь для тех кто не понял? Хочется добиться именно понимания,
а не примеров куда что готовое воткнуть.

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

ИМХО вот более понятное опеределение:

Although Haskell defines monads in terms of the "return" and "bind" functions, it is also possible to define a monad in terms of "return" and two other operations, "join" and "map". This formulation fits more closely with the definition of monads in category theory. The map operation, with type (t→u)→(M t→M u), takes a function between two types and produces a function that does the "same thing" to values in the monad. The join operation, with type M (M t)→M t, "flattens" two layers of monadic information into one.

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

> Мое ИМХО: haskell классный функциональный язык! Для изучения функциональщины он самое то. НО, как мне кажеться, он останеться скорее для академического изучения, для обкатки идей, чем для индустриальной разработки. Я целый год копал Haskell и пытался на нем что-то полезное написать, не получилось. Монады убили все на корню. Реально замороченная вещь, которая вроде бы проста на первый взгляд и понятна, в процессе применения обернулась головной болью. А без них никак в реальных приложениях.

Хорошо что ИМХО :) На самом деле пишут софт на нем, серьезный :)

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

>На самом деле пишут софт на нем, серьезный :)

"серьёзный" или "индустриальный"?

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

>в лучшем случае из функциональных языков пролог

Мужикам сообщили?

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

Я плакалЪ

>а до лиспа самостоятельно все мозги никак не дойдут (чтобы по-настоящему освоить, все понять как оно там на самом деле)

Думаю тебе все таки лучше в армию. Честно.

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

Монады можно юзать и в С++ без всяких громких слов. Вот например в boost реализация анонимных функций типа (_1+2)*3 идет через монады.

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

> Монады можно юзать и в С++ без всяких громких слов. Вот например в boost реализация анонимных функций типа (_1+2)*3 идет через монады.

трахаться с бустом? нет увольте.

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

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

зыж капча vitake кагбэ.

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

>Tell me more.

всё, что они делают — неюзабельное сферическое говно.

всё, что они делают — неюзабельное сферическое говно.

всё, что они делают — неюзабельное сферическое говно.

всё, что они делают — неюзабельное сферическое говно.

всё, что они делают — неюзабельное сферическое говно.

хватит?

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

>> Ларии Уолл подойдёт?)

> Это вообще вредитель.

Между прочим, Ларри ещё и автор утилиты patch. Так что не стоит кидаться в него камнями. Да и Perl - вполне адекватный инструмент, если использовать его по назначению.

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

> всё, что они делают — неюзабельное сферическое говно.

Человек, ставящий квантор всеобщности для сложных реальных сущностей, вызывает большие сомнения в своей адекватности.

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

> трахаться с бустом? нет увольте.

Поставим вопрос так:

1. То что делается на монадах в Хаскеле, можно прямо сделать в С++, тоже на монадах или прямее ( MayBe монада на С++: http://kerneltrap.org/node/7488 )

2. Как сделать в хаскеле то, что прямо делается в плюсах, например, как там самому наваять монаду для че-нить совсем непроцедурного... ну например SDL нам дает прямой доступ к двумерной видеопамями, как для этого написать монаду(монады)?

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

> Человек, ставящий квантор всеобщности для сложных реальных сущностей, вызывает большие сомнения в своей адекватности.

+1. Но Хаскель -- интересный прототип с интересными идеями для реального языка.

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

>для тех кто не понял

это метод "комбинирования" вычислений. C++аналогия: переопределяемый оператор ';'. Собственно, там то и понимать нечего -- 3 тесносвязанных сущности всего. А вот привыкнуть к последствиям этого - да, тренироваться нужно не мало.

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

> Это вообще вредитель. Хотя где-то до ~1996 года Perl был, думаю, полезен.

perl -Wne и щас очень полезен, и вообще для скриптов до 20 строк -- мой любимый язык.

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

>> всё, что они делают — неюзабельное сферическое говно.

>Человек, ставящий квантор всеобщности для сложных реальных сущностей, вызывает большие сомнения в своей адекватности.


..и сомнения так ли уж необходимо ставить квантор существования перед определением множества таких людей:))

r ★★★★★
()

вот чёрт, только закончил собирать 6.9 :( теперь жду ебилдов...

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

>1. То что делается на монадах в Хаскеле, можно прямо сделать в С++, тоже на монадах или прямее ( MayBe монада на С++: http://kerneltrap.org/node/7488 )

ну ни фига ж себе прямее

>2. Как сделать в хаскеле то, что прямо делается в плюсах, например, как там самому наваять монаду для че-нить совсем непроцедурного... ну например SDL нам дает прямой доступ к двумерной видеопамями, как для этого написать монаду(монады)?

вообще задачи не понял. можно то же самое, но по-человечески? :)

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

>Вообще, книжка классная.

и почти законченая :)

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

> Параллельное программирование в C\C++, ASM, Delphi (lazarus) и т.д. возможно путем программировния потоков (threads, forks, exec и т.п.), а насколько эффективно они будут работать это уже задача операционной системы, т.е. не надо на язык программирования, даже такой замечательный как хаскель, перекладывать функции ОС. Или я чего-то недоперепонимаю?

Недопонимаешь. Попробуй что нибудь серьёзное паралельное на хаскеле и на си, и сразу увидишь разницу.

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

Дорого/недорого понятия очень относительные. А вот то что оно несвободно - это факт. А проприетарного говна и так достаточно насрали.

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

> Недопонимаешь. Попробуй что нибудь серьёзное паралельное на хаскеле и на си, и сразу увидишь разницу.

а причём тут это ? я так понимаю сыр-бор в потенциальном автоматическом распараллеливании программы компилятором. А так-то можно и на Си писать как на эрланге, только зачем ?

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

>а причём тут это ? я так понимаю сыр-бор в потенциальном автоматическом распараллеливании программы компилятором. А так-то можно и на Си писать как на эрланге, только зачем ?

неправильно понимаешь. и, кстати, как ты собираешься писать "на С как на эрланге"?

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

> как ты собираешься писать "на С как на эрланге"?

А в чем принципиальная проблема? Асинхронный обмен сообщениями гораздо раньше Эрланга придумали.

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

> неправильно понимаешь. и, кстати, как ты собираешься писать "на С как на эрланге"?

имеется в виду использования в качестве IPC очередей сообщений с асинхронной передачей. Или я вообще не о том ? :)

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

>А в чем принципиальная проблема? Асинхронный обмен сообщениями гораздо раньше Эрланга придумали.

Принципиальной проблемы и гланды удалить через жопу нету.

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

>> А в чем принципиальная проблема? Асинхронный обмен сообщениями гораздо раньше Эрланга придумали.

> Принципиальной проблемы и гланды удалить через жопу нету.

Тебе - верю.

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

>А в чем принципиальная проблема? Асинхронный обмен сообщениями гораздо раньше Эрланга придумали.

Это всё, что про Erlang тебе известно ("Асинхронный обмен сообщениям")?

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

> Это всё, что про Erlang тебе известно ("Асинхронный обмен сообщениям")?

Нет, мне известно несколько больше. Однако, как я понял, речь идет о том, как производится распараллеливание - незаметно для прогера (Хаскель) или вручную а-ля Оккам (Эрланг). И здесь Эрланг ничего, кроме асинхронного обмена, не предлагает. Не так?

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

>Однако, как я понял, речь идет о том, как производится распараллеливание - незаметно для прогера (Хаскель) или вручную а-ля Оккам (Эрланг). И здесь Эрланг ничего, кроме асинхронного обмена, не предлагает. Не так?

Не совсем. В Erlang процессы "немножко другие", так что начинать придётся с попытки реализовать "на C" такие же легковесные процессы. "Истории успеха" про подобное не видел, обратные случаи ("истории провала") - попадались:)

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

>> И здесь Эрланг ничего, кроме асинхронного обмена, не предлагает. Не так?

> Не совсем.

Оставляя в стороне собственный планировщик, какие еще средства распараллеливание есть в Эрланге?

> начинать придётся с попытки реализовать "на C" такие же легковесные процессы. "Истории успеха" про подобное не видел

Реализаций нитей M:N довольно много.

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

>Реализаций нитей M:N довольно много.

Не уводите в сторону:)

Как бы то ни было "ПИСАТЬ на C, так же, как на Эрланге" - получится:)

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

>Однако, как я понял, речь идет о том, как производится распараллеливание - незаметно для прогера (Хаскель) или вручную а-ля Оккам (Эрланг)

эхм? а где в Haskell эта незаметность? в par/seq? или в Parallel.Strategies? лёгкость - да, но незаметности вроде не было. или я опять что-то пропустил?

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

> где в Haskell эта незаметность? в par/seq?

Не, это нагло слямзили из Оккама %)

> или в Parallel.Strategies

Об этом я просто не знаю :)

> лёгкость - да, но незаметности вроде не было.

Ну это типа временные ограничения конкретных реализаций.

>_>

<_<

Как я понимаю, распараллеливание в функциональных языках основывается на иммутабельности данных и естественном параллелизме операций над ними (типа map). И основная фишка именно в том, что распараллеливание именно _незаметно_.

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