LINUX.ORG.RU

Haskell - есть ли на нём полезные программы?


0

2

У меня товарищ немного пишет на Окамль, и хочет заменить его на Хаскель. Вот хотелось бы услышать коротенько про истории успеха. С производительностью Хаскеля мня ознакомил шутаут. Так что интересует масштабируемость. Какие полезные программы написаны на Хаскеле? Я вот знаю darcs и даже сам пользовался. Ещё хотя бы 5 может кто-нибудь привести? Причём, нужны программы, которыми пользуются обычные люди, а не только адепты Хаскеля.

Пожалуйста, 256 слов на каждую историю успеха и пруфлинк.

★★★★★

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

Пока программы пишут программисты, первые N написанных программ, написанных с использованием «новой» технологии, всегда будут для них. И ты знаешь, что это за программы. «Для обычных людей» пишут только после этого.

Т.ч. IMHO интересен вопрос не о наличии программ (которое может зависеть от кучи «неинтересных» обстоятельств), а закончился ли этот самый «bootstrap» хаскеля. «да» означет, что твоему товарищу не придётся писать слишком много того, что для других языков уже написано, «нет» - наоборот. Очевидно же, ответ зависит от специфики решаемых задач. И находится без помощи троллей объективной арифметикой.

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

Например, если это удобный программируемый редактор общего назначения. Типа vi, emacs или MS Word. В любом случае, нужно тогда сказать, чем он отличается от аналогов.

yi ? http://en.wikipedia.org/wiki/Yi_(editor)

аналог емакса на хаскелле. cм. http://www.nobugs.org/developer/yi/

отличается от аналогов в основном тем, что работает инкрементальный парсинг http://yi-editor.blogspot.com/2008/11/incremental-parsing-in-yi.html

так там работает раскраска синтаксиса.

давно в него не смотрел — под свежий GHC оно давно не собиралось, но кажется на гитхабе чего-то реанимируют https://github.com/yi-editor/yi

anonymous
()

Не любитель хаскеля, но на нем довольно много полезных программ. Вся Haskell Platform, Raincat, Xmonad. Производительность хорошая, лучше чем у OCaml, но mlton для Standard ML и ATS быстрее, последний даже быстрее человекочитабельного Си (хотя сам не особо человекочитабелен). Читабельность Хаскеля меня тоже убивает (и это говорит любитель APL).

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

yi мертвенький и какой-то не очень юзабельный, увы =(

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

> кто это и что это?

Точный ник и ссылку на его поделку не дам ибо не помню.

Возможно, что местные хаскелисты смогут вспомнить success story и напомнить общественности об успехе.

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

Потому что среди хацкеллистов нет пока того народу, которого интересуют исключительно финансы. Если хацкель станет мейнстримом, тогда появятся, а пока их нет. Сильно вряд ли встретишь хацкеллиста, который не знает какой-нибудь примитив, а-ля бинарные деревья, а вот дотнетчика — запросто.

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

кто это и что это?

Здесь я, тащемта.

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

На шутауте у них примерно одинаковая (в одних тестах хаскель хуже, в других — окамл), на своей машине у меня с последними версиями GHC и OCaml быстрее работали программы на хаскеле. Ненамного быстрее.

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

(den73)

1000 строк и 200 строк - это маленький проект. Даже если вдруг аналогичный проект на С будет содержать 10000 строк - это всё ещё довольно скромный масштаб.

Мне известен только один действительно большой проект на Хаскеле - сам ghc.

А что с доказателями теорем? Я знаю acl-2 (т.е. собирал его и немного заглядывал в доку). Там, ЕМНИП, порядка 10мб исходников. Думаю, это - самый махровый доказатель теорем в природе. Можете назвать для Хаскеля проекты (кроме GHC) с масштабом исходников более 1мб?

Только, пожалуйста, не надо говорить, что Хаскель во много раз компактнее других языков. Если на шутауте код Хаскеля одинаков по размеру с кодом на Java, C++ и лиспе - это значит, что можно грубо считать, что по порядку величины лаконичность Хаскеля такая же, как и у других языков.

anonymous
()
Ответ на: (den73) от anonymous

Только, пожалуйста, не надо говорить, что Хаскель во много раз компактнее других языков. Если на шутауте код Хаскеля одинаков по размеру с кодом на Java, C++ и лиспе - это значит, что можно грубо считать, что по порядку величины лаконичность Хаскеля такая же, как и у других языков.

Код на хацкеле во много раз компактнее кода на других языках. А на шутауте специфичный код весьма, сильно далекий от нормального кода на хацкеле. Жертва ради того, чтобы отжать очередные 2.3% производительности.

anonymous
()
Ответ на: (den73) от anonymous

Какая-то паззловина с няшной рисовкой про котика, сам играл немного. Довольно интересная, любителям паззлов понравится.

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

это, например, плюсы или питон, а не J или K

Это точно :)

В хаскеле мне не нравятся сами соглашения об именовании сущностей и некоторые обозначения. А также куча новых введенных сущностей.

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

хацкеллист — это квалифицированная и сравнительно дешевая рабочая сила

Я далеко от ДС, но из чисто академического интереса спрошу: почему ты решил, что квалифицированная?

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

То есть они квалифицированные, потому что их не интересуют исключительно финансы? Как-то неубедительно.

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

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

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

Заметьте, шаблон «Код на %s во много раз компактнее кода на других языках. А на шутауте специфичный код весьма, сильно далекий от нормального кода на %s. Жертва ради того, чтобы отжать очередные 2.3% производительности.» можно применить к любому языку, представленному на шутауте. И что?

Зайдите на шутаут и сравните с Lua.

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

Это не шаблон. Конкретно я сравниваю из личного опыта с плюсами и питоном.

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

Такое впечатление, что ты встречал много дотнетчиков и не меньше хаскеллистов.

Такое впечатление, что это невозможно.

Возможно, конечно. Многие маловероятные вещи возможны.

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

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

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

я даю людям то, что они хотят.

я тебя не хочу. Уже самоаннигилируешься?

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

Кроме Lava ничего полезного не видел

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

Каким боком транзакционная память к хаскеллю?

Там написано.

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

то никакие пока (я использую Си и Python)

list comprehension можно, в принципе, зачесть.

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

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

malbolge ★★
()

xmonad (taffybar), yi, pandoc, yesod, hledger, bnfc, gitit, darcs

для haskell: hackport, fquery

а если интересно, то сам найдёшь и инфу и т.д., а расписывание не заслужил.

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

чтобы отжать очередные 2.3% производительности.

...И приэтом не слишком сильно отстать от Mono - так?

Кстати, а как твое выделенное утверждение можно соотнести с другим, достаточно широко используемым, что, мол, «охрененно строгая охрененно статическая типизация дает широчайшие просторы для мегаоптимизаций»?

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

а расписывание не заслужил

У него же на лбу написано: лиспокомплекс... А вы так бессердечно.

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

мол, «охрененно строгая охрененно статическая типизация дает широчайшие просторы для мегаоптимизаций»?

А что тут непонятного? Представь: компилятор выходит в эти огромные просторы... и всё, больше его никто никогда не видит. Результатов оптимизации, соотвественно, тоже.

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

не все на ЛОРе тролли, но и настоящих, адекватных, ответов последнее время всё меньше и меньше :-(

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

нет предела совершенству.

P.S. Не осилил выучить Хаскелль :-/

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

вот отладят это в PyPy и нечем будет вам со своим «хакцелем» гордиться, что тогда делать будете - фапать на стрелочки?

Что-то тут у многих хаскелл (ну ладно, некоторые его апологеты) вызывает идиоси^Wне самые положительные эмоции.

А если серьезно. Есть что-нибудь статистически-типизированное, компилируемое в нативный код, высокоуровневое и имеющее сопоставимый набор библиотек?

anonymous
()

iptadmin.confmgr.org

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

...И приэтом не слишком сильно отстать от Mono - так?

И при этом изрядно порвать Mono по времени и по памяти.

Кстати, а как твое выделенное утверждение можно соотнести с другим, достаточно широко используемым, что, мол, «охрененно строгая охрененно статическая типизация дает широчайшие просторы для мегаоптимизаций»?

Даёт. Если скомпилить хацкельный код без оптимизаций, получится архитормозное говно, потому что семантика языка очень далека от железки, на которой скомпилированный код исполняется.

Если применить оптимизации, то получается уже что-то похожее на правду; а если еще и написать в императивном стиле с мутабельными массивами, указателями и прочими тараканами, то получится совсем быстро. Правда профита тогда именно от использования хацкеля становится значительно меньше.

Конкретно мне этим не приходилось страдать. Да и даже на шутауте далеко не всегда этим страдают. Например, http://shootout.alioth.debian.org/u64/program.php?test=pidigits&lang=ghc&... .

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

Если применить оптимизации, то получается уже что-то похожее на правду;

При чем тут именно «статическая типизация»? Тут скорее бóльшую роль играет умолчательная чистота и ленивость.

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

Если ...
Если ...

Ох, уж эти теоретики... Низачот.

Вот, оттуда же ссылочка.
http://shootout.alioth.debian.org/u64/benchmark.php?test=all&lang=csharp&...

Ноздря в ноздрю с Mono. Ткни где оно рвет моно «по времени и по памяти»?
Именно «рвет», а не «немножко опережает» (т.е. менее чем на порядок)

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

С каких пор shootout столь показателен... уже напоминает википедию. По сабжу: тогда уж сравнивайте с F# Моно.

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

Есть что-нибудь статистически-типизированное, компилируемое в нативный код, высокоуровневое и имеющее сопоставимый набор библиотек?

scala, ocaml?

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