0xd34df00d
04.11.2011 20:56 Azoth_primary
Написал тут еще псотик про хацкель: http://jabapls.ws/laziness-vs-parallelis...
/r/ критики и комментов.
Что-то у меня твой код не запустился даже :(
% ./Main '[(2, 20),(3,30), (4,40), (5,50)]'
Main: ru_RU.dic: hGetContents: invalid argument (Invalid or incomplete multibyte or wide character)
ru_RU.dic — симлинк на /usr/share/hunspell/ru_RU.dic. GHC 7.0.4
Впрочем, после конвертирования ru_RU.dic из KOI8-R в UTF-8 всё заработало.
Я твой кот не запускал и даже не смотрел, но уже после "гипотеза о нормальном распределении частоты слов в текстах мне показалась довольно разумной, поэтому слова брались в соответствии с нормальным распределением." понял, что генерировать он будет хуету, а не псевдочеловеческие тексты.
А, ну да, я конвертировал.
Обоснуй.
Посту явно не хватает финала в духе "вот вы говорите что на плюсцах можно отстрелить себе голову? На хаскеле этого сделать нельзя, зато там можно внезапно, создавая вентилятор, построить гигантский насос, который захавает весь воздух вокруг".
А, и я так и не понял, зачем таким извращенным способом получать псевдочеловеческий текст, если можно спокойно взять образ какой-то "библиотеки в кармане" и вытащить оттуда много гигабайт готового.
Я заебался их гуглить :3
Ну и плюс, опять же, поупражняться лишний раз.
Зачем гуглить, на рутрекере тоннами лежат.
Ну да, разве что если поупражняться.
Плюс, мне нужны были файлы конкретных размеров, а библиотеку я заебался бы просеивать или перефигачивать.
Што. Написал скрипт, который распакует все книжки оттуда (если пожаты), и склеивает из них файл нужного размера. Ну или сразу склеивает все, а потом отрезает нужный кусок.
Не совсем понял, а что помешало вынести запись в файл в разные потоки? При этом формат задачи должен был бы остаться исходным, соответственно, без ужаса с памятью. Или у Control.Parallel какие-то свои счеты с IO? (честно не знаю, не пробовал с ним работать)
Че. Разверни мысль.
А, забей. Я уже посмотрел в преамбулу к Contol.Parallel и увидел рекомендацию тем, у кого сайд-эффекты, проваливать в Control.Concurrent, что ты и сделал.