LINUX.ORG.RU

Вышел новый стандарт Haskell

 ,


0

1

Саймон Марлоу (Simon Marlow) опубликовал анонсированный ранее Haskell 2010 Report (HTML, PDF).

Основные изменения:

  • Добавлен Numeric
  • Добавлено System.IO.Error.{catch,try,ioError}
  • Исправлено множество багов.

Также Саймон указал на то, что чуть позже, в этом году появится новая ревизия Хаскелля, а также что с этого момента он передаёт полномочия главного редактора документа спецификаций главе комитета Хаскелля 2011 года, Малькольму Воллесу (Malcolm Wallace).

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



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

> Но главное в хацкеле _можно_

нет уж, спасибо; лучше на основе виртуальной машины си сделать нормальную типизацию (а-ля тайпклассы), effect system и thunk-и по требованию.

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

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

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

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

В Scala многое так реализовано.

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

> нет уж, спасибо; лучше на основе виртуальной машины си сделать нормальную типизацию (а-ля тайпклассы), effect system и thunk-и по требованию.

но пока почему-то никто не сделал. Я был бы рад таким пользоваться.

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

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

это к адептам. я могу написать своё мнение, но боюсь оно ничего не стоит ;)

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

30+ страниц срача


срач негодный, день прошел, а 30 страниц еще нет

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

на основе виртуальной машины си сделать нормальную типизацию (а-ля тайпклассы), effect system и thunk-и по требованию.

разница в том, что в Haskell это всё уже есть, а ты о своём «языке мечты» только трепешься; сферические кони в вакууме - это очень круто, но ровно до тех пор, пока не появляется задача что-то реально написать

jtootf ★★★★★
()

ITT куча унылых троллей не доставляют.

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

>нет уж, спасибо; лучше на основе виртуальной машины си сделать нормальную типизацию (а-ля тайпклассы), effect system и thunk-и по требованию.

И снова получить частично реализованный хаскель...

А еще скорее не получить хаскель и вообще не получить ничего работоспособного.

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

>Поведайте еще почему за 20 лет ни одна корпорация не вложилась в серьезную раскрутку хаскелла.

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

А ты думал что корпорациям, власти и прочим подобным структурам ты нужен чтобы делать тебе приятно?

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

>при добавлении в голову время доступа будет O(n)

Время доступа по индексу. Ты мне покажешь где тут оно?



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

> нет уж, спасибо; лучше на основе виртуальной машины си сделать нормальную типизацию (а-ля тайпклассы), effect system и thunk-и по требованию.

Виртуальная машина C?! Да еще и с typeclasses?

Слезайте с тяжелых веществ, они убивают мозг.

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

Обязательно. Путем добавления новых race conditions разных мастей и прочих прелестей.

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

>И вообще, любая, подчеркиваю ЛЮБАЯ, рекурсия легко превращается в итеративный алгоритм с явным выделением памяти.

Не превращается. Достаточно несложно превратить однородную рекурсивную структуру цель обхода которой - простой обход. Достаточно сложно гетерогенную или когда требуются «откаты решений» в узлах структуры.

Хотя, как правило, итерационную программу отлаживать легче. Легче завершить программу в случае ошибки (без бросания каких-либо исключений). И многим легче итеративную программу понимать.


Это ты просто незнаком с понятиями абстракций свертки ака катаморфизмов.

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

>т.е. ты все еще надеешься написать код на хаскеле всего в О(1) раз хуже имеративного? ну я жду.

Давай чуть усложним задачу - цель построить дерево длин имен каталогов - так сказать поменяем свертку на трансформацию. Потом сравним что получилось. Только не по сложности достпа в меморайзеный список - а сумарно - например по получившемуся коду.

PS: Забыл как на С 8 страниц строки складывали?


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

Ну им это для фэ-шарпика надо, если я правильно понимаю.
Кстати, а имеет ли смысл юзание F# под моно? (если предположить, что его уже допилили)

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

Подтверждаю. Работает. Даже REPL неплохо себя показывает.

Что касается самой сборки проекта под моно, то не знаю, научили ли линуксовый аналог MSBuild (xbuild ??) понимать fsproj. В крайнем случае можно написать makefile.

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

Даже REPL неплохо себя показывает


только не с emacs :(

В крайнем случае можно написать makefile.


А я его всегда и использую. Хотя должен работать и nant

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

> разница в том, что в Haskell это всё уже есть

там есть только тайпклассы, да и то вряд ли приспособленные под мутабельность; системы эффектов нет, а thunk-и не по требованию, а в виде навязчивой рекламы :-)

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

>Давай чуть усложним задачу - цель построить дерево длин имен каталогов - так сказать поменяем свертку на трансформацию. Потом сравним что получилось.

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

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

Прежде чем мерить строки кода, надо все-таки выяснить: на коллекциях хаскель более прожорлив всего лишь в 10 или все же в log n раз.

PS: Забыл как на С 8 страниц строки складывали?

тебе там подсказали решение из glib; ты бы еще на асм-е попросил строки сложить

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

> Поведайте еще почему за 20 лет ни одна корпорация не вложилась в серьезную раскрутку хаскелла.

Провокационный вопрос мимо кассы. Главные разработчики Хаскелла работают в Microsoft Research.

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

> гм? что имеется в виду?

гы. сначала громко не согласится с собеседником, а потом выяснять, что он имел в виду :-)

вот например что http://trac.haskell.org/ddc/wiki/Language/Overview/EffectSystem

кстати, мигель вроде был не прав — оно все же не RIP

www_linux_org_ru ★★★★★
()

продолжим обсуждение «обход дерева директорий с симлинками»

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

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

таким образом, для распараллеливания опять нужна структура данных, в которую можно добавлять из нескольких нитей сразу, и *видеть* добавленное опять из нескольких нитей

в императивном языке это решается либо локами (либо, возможно, безлоковым thread-safe контейнером — есть такие произведения искусства, написанные на быдлоимперативных языках, где все гонки проверяются руками и доказывается, что их нет; я не разбирался в применимости такого контейнера в нашем случае)

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

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

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

Вам что, всё нужно разжевывать и в рот класть?

Гуглите STM (software transaction memory).

Вот годная статья на эту тему: Beautiful concurrency.

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

Ах да, я забыл, вам же некогда читать быдлотеорию, дедлайн же скоро, надо программировать!

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

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

Если не знаешь, кто что пишет, то не пость ерунду (для справки, тот же сервак для hedgewars на хаскеле).

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

Видимо из-за жары, тред в этой новости пошел на уровне IQ<20, как следствие, читать более чем неприятно, а не то что постить (где вообще модераторы, здесь пора процентов 80 постов стереть, с баном особо отличившихся).

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

> Если не знаешь, кто что пишет, то не пость ерунду

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

для справки, тот же сервак для hedgewars на хаскеле


Хм, видимо из-за жары не смог уловить тонкой связи между серваком для hedgewars и русскоязычными хаскелистами. Может она и есть, только широкой публике не очевидна. Можете перестанете скрытничать, ссылаться на низкий уровень IQ и т.п. и просто расскажете что к чему?

где вообще модераторы, здесь пора процентов 80 постов стереть,

с баном особо отличившихся



Хм, вы в первый раз на ЛОРе? Тяжко, конечно, толи дело в блоге у помянутого выше штангиста - чуть что и бан ;)

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

> (где вообще модераторы, здесь пора процентов 80 постов стереть, с баном особо отличившихся).

на ЛОРе тогда больше хаскелодр_черов не останется )))

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

Хмм.. не особо его читал, вроде ничего страшного не видел

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

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

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

а другой не занимается штангой?

штангой среди хаскеллистов, кстати, занимаются многие; говорят, очень в понимании теории категорий помогает

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

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

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

на коллекциях хаскель более прожорлив всего лишь в 10 или все же в log n раз.


Зависит от задачи. Учитывая что императивные неленивые коллекции на всех операциях типа filter/map порождают новую коллекцию - можно проверить кто прожорлив больше - тот кто работает с коллекциями путем создания проекций или тот кто по двадцать рас создает фильтрованные или трансформированные копии методом (псевдовкод):

res f( col ) {
res = new list
for (col) res <- col
return res
}

тебе там подсказали решение из glib;


Решение из глиб это «кто-то достаточно умный в такой простой операции как сложение строк написал все до нас».



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

>сторонники хаскеля могли бы заявить

Сторонники хаскеля заявят что обход дерева с сисмлинками не требует меморайзеного списка обойденных узлов. Достаточно проверять находится ли таржет симлинка под уровнем входа - и если так - не входить (в него войдут черезвхот).

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

+ Плюс не входить во вход два раза (если симлинк на перента точки входа.

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

>проверять находится ли таржет симлинка под уровнем входа А эта проверка эффективна?

куда уж эффективней.

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

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

«Сидим на земле - живем по законам сэра Иссаака Ньютона. Летим к звездам с околосветовой скоростью - используем СТО.»

А вы уверены что СТО? Эту говнотеорию так ни кто и не удосужился доказать, но за то везде тыкают, да бы показать что идиот но за то крутой идиот.

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

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

Чудило необразованное, просветись: http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D0%B0%D0%BB%D1%8C...

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

«Чудило необразованное, просветись: http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D0%B0%D0%BB%D1%8C...»

Википедия)))

Даун, просветись - у СТО нет ни одно прямого доказательства.

Более того это да же не теория, а обертка к преобразованию Лоренца, так как ничего кроме эффектов вытекающих из данного преобразования в СТО нет. (Лоренц был крупной шишкой и присвоить его высасанный из пальца эффект, написанный кстати для поддержки эфирной теории было чревато, но вот формулу Е=мс^2 еврейский пиар гений спереть не постеснялся.)

А преобразование Лоренца уже давно экспериментально опровергнуто:

Эренфест преобразовал формулы евреского плагиатора, для случая вращающегося диска, ошибок не нашли Фипс сфотографировал быстро вращающийся диск - не нашел искривленного диска. Результат: в найчерал отказались публиковать работу потому что де она им не нравится.

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

Во франции провели эксперимент пикосекундные лазеры работали так что из световых точек в пространстве образовывался летящий куб - беспристрастные камеры запечатлели - угадайте что? да да да никакого сокращения куба не наблюдается. В итоге написали: сокращение не наблюдается но оно есть!!! Хотя СТО требует прямо противоположного - она не может ответить на вопрос реально сокращение или нет, но за то требует что оно БУДЕТ обязательно наблюдаться. Вот вы его видите? Нет? А оно есть!

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

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

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

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

>Сторонники хаскеля заявят что обход дерева с сисмлинками не требует меморайзеного списка обойденных узлов

Ещё им сильно кажется, что если таковой понадобится, то при правильном подборе размеров дерева (:с лёгкой подачи оппонёнтов превратившегося в произвольный граф:), обеспечить O(1) структуру для него не удастся даже с деструктивными апдейтами.

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

Нет. Но вижу, что он обновился. В 0.2 с этим были проблемы и при вызове интерпретатора специально приходилось указывать --readline-. Щас попробую.

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

Нет, по прежнему --readline+ не работает и приходится запускать с -. А это автодополнение средствами F#

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

> у СТО нет ни одно прямого доказательства.

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

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