LINUX.ORG.RU

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

 ,


0

1

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

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

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

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

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



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

Ответ на: комментарий от PayableOnDeath

На нем действительно пишут что-то серьезное?

да

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

>А если не скала интересна, а clojure? ;)

То есть ненулевая вероятность перехода дискуссии в русло «статическая типизация vs динамическая».

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

Хех, кто-то кидал уже ссылку на комикс Lisp vs Haskell.

oh ()

Как я вас понимаю, я тоже боюсь всего непривычного и неизвестного.

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

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

Хех, кто-то кидал уже ссылку на комикс Lisp vs Haskell.

надо нарисовать комикс Lisp and Haskell together for the Great Good!

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

>> Новость хорошая, но обсуждение уныло

факт. где все умные тролли?

Считаешь что из тролей только ты умный?

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

Считаешь что из тролей только ты умный?

нет, не считаю

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

> Довольно непоследовательно утверждать, что

Я ненавижу слово «быдло»

И при этом использовать его в тексте 4 раза.


Вообще этим слово обозначают скотину. Я не использовал его в каком-либо оскорбительном аспекте. Что вас смутило?

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

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

Мэйнстрим не терпит идиотов и клоунов, поэтому там нет Хацкеля.


+100^500.

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

> Очень многих посмотреть в сторону ФП и Лиспа заставил ВСЛ

Нет, конечно. Я думаю, что популярность ФП была бы выше, и уж точно не было бы столько неадеквата, если бы не названный товарищ.

который, по-моему, и ввёл эту приставку в обиход.


Вот я и говорю, что слово придумали для самоидентификации.

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

Ну тут я нечего не могу сказать, на ФП не пишу. Но наезд на рекурсию меня смутил, т.к. успешно применяю ее в обычном быдло-С++, и радуюсь жизни.

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

>что слово придумали для самоидентификации.

+100500. Давно заметил, если человек называет кого то быдлом, то значи он сам быдло.

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

Вот чего-то подобного и хотел увидеть. +1

На perl-е очень просто выходит. Типа, читаем каталог, подкаталоги засовываем в хэш, потом сам каталог из хэша удаляем. Потом перебираем хэш снова.

Код (ИМХО) очень простой и понятный. Проще показать чем пояснять

#! /usr/bin/perl -w

use strict;

my($patch,$file,$stop,@stat,%dirs);

unless(@ARGV){
  $0 =~ m|/([^/]+)$|;
  print STDERR "Использование: ",$1," каталог[и]\n";
  exit(1);
}

foreach(@ARGV){
  unless($_ =~ m|.+/$|){
    $_ .= '/';
  }
  if(@stat = stat($_)){
    if($stat[2] & 040000){
      $dirs{$_} = 0;
    }
  }
}

while(!$stop){
  $stop = 1;
  foreach $patch(keys(%dirs)){
    $stop = 0;

    unless(opendir(*DI,$patch)){
      print STDERR $patch," не читаетса!\n";
      exit(2);
    }

    while($_ = readdir(*DI)){
      $file = $patch.$_;
      if((stat($file))[2] & 040000){
        if(($_ ne ".")&&($_ ne "..")){
          $dirs{$file.'/'} = 0;
        }
      }
      else {
        print $file,"\n";
      }
    }
    delete($dirs{$patch});
    closedir(*DI);
  }
}

Нахерачил скрипт за неск минут, печатает только файлы, просьба не пинать сильно

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

> Я думаю, что популярность ФП была бы выше, и уж точно не было бы столько неадеквата, если бы не названный товарищ.

Кто все эти люди? Речь о каком-то школьном кружке программистов?

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

> Давно заметил, если человек называет кого то быдлом, то значи он сам быдло.

А если кто-то говорит, что что-то/кто-то не нужно, то он сам не нужен?

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

> В очень многих задачах рекурсия очень логична и сильно упрощает понимание.

Ну её нахер! (ИМХО) Одна из причин тормозов и срыва стека

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

> Хм, а как делать графический интерфейс без ООП? В смысле, зачем так мучаться?

Как-то на Tcl/Tk делаю без ООП и не мучаюсь.

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

> А если кто-то говорит, что что-то/кто-то не нужно,

то он сам не нужен?


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

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

> Как-то на Tcl/Tk делаю без ООП и не мучаюсь.

Хм, а какое отношение ваш опыт программирования на Tcl/Tk имеет к JavaScript?

Кстати, поскольку интерфейс на базе Tcl/Tk типично просто ужасен, то это не очень хороший пример.

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

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

Смотрим на первые три поста и думаем, с какого из них начинается хамство.

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

>То есть, говнокодеры мешают хорошим программистам писать хорошие годные программы? Каким образом?

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

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

>Ну её нахер! (ИМХО) Одна из причин тормозов и срыва стека

Ты представляешь, сколько должно быть элементов в бинарном дереве, чтобы переполнить стек?

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

> Хм, а какое отношение ваш опыт программирования на Tcl/Tk имеет к JavaScript?

А какое отношение JS имеет к сабжу? Имхо, каждый раз в теме по Хаскеллю Вы начинаете рассуждать о чем-то далеком от него.

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

getRecursiveContents :: FilePath -> IO [FilePath]

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

в императивном языке этот момент учитывается в 4 строки:

std::set<int> visited_inodes;

...

int i=inode(dir);

if( visited_inodes.find(i) ) return;

visited_inodes.insert(i);

а в хаскеле?

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

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

вся индустрия, по сути, обычная артель. В 21 веке сидят с прялками и ткут домотканые программы. Грустно.

веры подобному персонажу нет

да, еще образа в углу поблескивают.

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

> Некоторая лажа с проектированием «снизу-вверх» (сокрытие структуры программы) достаточно наглядно описана в статье Дж. Бэкуса про алгебру функциональных программ.

ссылку дай

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

> вся индустрия, по сути, обычная артель. В 21 веке сидят с прялками и ткут домотканые программы.

гыгыгы! да, примерно так и есть!

www_linux_org_ru ★★★★★ ()
Ответ на: комментарий от www_linux_org_ru
 
getRecursiveContents topdir visited = do
    if getInode `elem` visited
     then return ()
     else .... 

ну как-то так

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

> А какое отношение JS имеет к сабжу? Имхо, каждый раз в теме по

Хаскеллю Вы начинаете рассуждать о чем-то далеком от него.


Был задан вопрос - я на него ответил. Это запрещено правилами? Или в шаблон не укладывается?

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

>> Довольно непоследовательно утверждать, что

Я ненавижу слово «быдло»

И при этом использовать его в тексте 4 раза.


Вообще этим слово обозначают скотину. Я не использовал его в каком-либо оскорбительном аспекте. Что вас смутило?


Только непоследовательность: обычно люде не используют слова, которые ненавидят.

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

> Смотрим на первые три поста и думаем, с какого из них

начинается хамство.


Я думаю, что каждый должен отвечать за себя. А аргументация уровня «он первый начал» это для детского сада, и то, детей нужно о такого отучать.

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

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

вся индустрия, по сути, обычная артель. В 21 веке сидят с прялками и ткут домотканые программы. Грустно.

Необязательно. Мне всё-равно как соткана бухгалтерия в конторе, с которой я точно не столкнусь в ближайшее время, или, например, веб-магазин в котором я что-то покупаю, если он хоть как-то работает.

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

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

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

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

факт. где все умные тролли?

мы ждем они ждут, пока школьники прокричатся и устанут;

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

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

> вся индустрия, по сути, обычная артель. В 21 веке сидят с

прялками и ткут домотканые программы. Грустно.


Ну т.е. вы просто не в курсе современного состояния индустрии. Да и вообще это ваше утверждение трудно понять: от сторонника Haskell можно было бы ожидать более чёткого изложения своей мысли.

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

> Ты представляешь, сколько должно быть элементов в бинарном дереве, чтобы переполнить стек?

ИМХО - какая глубина ветки.

Ога, большая, только не значит, что таких не бывает.

Какие ещё аргументы за рекурсию, кроме якобы «понятности»?

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

Кстати, поскольку интерфейс на базе Tcl/Tk типично просто ужасен

это не вина Tcl/Tk, вообще говоря. собственно, откуда у программистов на Tcl такая любовь к Motiff мне до сих пор неясно

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

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

А четырёх страниц-то может и не набраться…

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

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

А чем это плох Motif?

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

>> веб-магазин в котором я что-то покупаю

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

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

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

Ну а если тебе нечайно не тот товар припишется? Были же такие случаи, вон, недавно с AT&T и препокупкой айфонов.

oh ()
Ответ на: Re: Вышел новый стандарт Haskell от NIR

А чем это плох Motif?

а я разве говорил, что он плох? :)

но вообще он, конечно, и правда очень плох; прежде всего - в смысле удобства работы с GUI

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

> ну как-то так

oh (07.07.2010 15:05:10)

Хорошая шутка. Срочно изучите разницу между return в императивке и return в Хаскелле.

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

>Ну а если тебе нечайно не тот товар припишется? Были же такие случаи, вон, недавно с AT&T и препокупкой айфонов.

Ну, оперативный риск есть, конечно. Но он всегда есть, даже если у них веб сайт на Хаскеле написан, это может быть из-за того, что ИТшникам интересно, а не из-за того что начальство потребовало 99.{9}5% надёжности. В этом случае никакой гарантии, что грузчик перепутает, или упаковщик не ту наклейку наклеит, всё равно нет.

Ошибки контор вроде AT&T, для конечного пользователя чреваты не более чем небльшим объёмом времени, потраченного на разборки. Не вижу причин для паранойи. (Хотя, если потенциально потраченного времени можно избежать не инвестируя дополнительного времени, я только за).

Конечно, другое дело - отдел закупок какого-нибудь life/mission critical предприятия. Их это конечно, может волновать.

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

>А если кто-то говорит, что что-то/кто-то не нужно, то он сам не нужен?

По разному бывает.

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

> А аргументация уровня «он первый начал» это для детского сада, и то, детей нужно о такого отучать.

Уважаемый, Вы ничего не поняли. Речь шла о том, что не хаскеллеров не любят за что-то, а скорее хаскеллеры не любят... Смотрим на третий пост, понимаем за что хаскеллеры таких не любят. И не надо все с ног на голову переворачивать, жизнь и и так непростая штука.

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