Куча говна / Говнокод #16305 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
Викиучебник по хаскелю такой викиучебник

Задание - написать frequency — функция, возвращающая список пар (символ, частота). Каждая пара определяет атом из заданного списка и частоту его вхождения в этот список.

Решение 

frequency :: [a] -> [(a : Integer)]
frequency l = f [] l

f :: [a] -> [a] -> [(a : Integer)]
f l []    = l
f l (h:t) = f (corrector h l) t

corrector :: a -> [a] -> [(a : Integer)]
corrector a []      = [(a : 1)]
corrector a (a:n):t = (a : (n + 1)) : t
corrector a h:t     = h : (corrector a t)

Логика-то верна, но код тупо не скомпилится. И как тут быть нубцу? 



Задание - Описать следующие классы типов. При необходимости воспользоваться механизмом наследования классов.
Show — класс, объекты экземпляров которого могут быть выведены на экран.

Думаю что-то мегасложное, сделать самому руками show

Решение 
 
class Show a where
  show :: a -> String

/-*)

Викиучебник по хаскелю такой викиучебник

Запостил: kegdan kegdan, (Updated )

Комментарии (143) RSS

  • Зачем ты тратишь время и читаешь всякую хуйню, написанную каким-то хуем с горы?

    Вон же Роман накидал нормальных ссылок. Почитай лучше RWH.
    Ответить
    • я развлекаюсь. То тут, то там читаю.

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

              Я хоббита читал - он не самым лучшим языком написал. ГП проще. Если в ХЛ я могу забить на что то, то в технической бывает перечитываю место по нескольку раз, если тема совсем в мозг не ложится. Там уже нужно максимальное понимание происходящего и минимум затрат на чтение. По этому учить новое лучше на родном языке. А когда уже более-менее в теме - можно и буржуйское почитать.
              Ответить
              • Х.з. Для меня художественная литература на инглише была очень сложна. Я ведь учил английский в основном по техническим книжкам, а поэтому прилагательные и устойчивые выражения знаю слабо... И если какие-нибудь экшен-сцены или диалоги читаются вполне свободно, то описания я мог разбирать только с постоянным обращением к словарю ;(

                А вот в технических книжках и статьях язык, как правило, очень простой, можно сказать примитивный. И там затрат на чтение и понимание у меня почти нет - ведь большинство терминов из computer science один хуй позаимствовано из инглиша и звучит на всех языках почти одинаково (к тому же не надо думать, что переводчик имел в виду под потоком - thread или stream). А обычно возникает даже обратный эффект - из-за того, что 99% статей переводили надмозги, оригинал читается и осиливается быстрее...

                И если литературу по основам еще можно найти на русском в более-менее хорошем изложении, то более тонкие и серьезные темы и вопросы - увы, только на английском.
                Ответить
              • Лол. Мнение человека, которому трудно читать без словаря о книжке написаной очень известным писателем, кроме всего прочего филологом и универским пофессором, преподавателем языка: "не самый лучший язык".
                Кстати, было замечено, что такой ЧСВ, хотя и встречается в любых отраслях человеческой деятельности, особенно характерен для программистов.
                Ответить
                • Да будь он хоть трижды богом английского языка, его язык не самый лучший для понимания русским Кегданом...
                  Ответить
                  • Релятивизм - точно такая же ошибка, как и научный коммунизм. Релятивизм это не ответ, а уход от ответа, попытка представить ситуацию так, как будто ни один предмет не сравним с другим, что ведет к отрицанию сравнения и отношений, невозможности математики как таковой (как же быть, если числа не сравнимы друг с другом?) и т.д. Опять же удел недалеких, или застрявших в пост-гегелевском мире недочеловеков.
                    Ответить
                    • > попытка представить ситуацию так, как будто ни один предмет не сравним с другим
                      Если это про меня, то это не так. Сравнивайте на здоровье.
                      Это, если приводить в пример Ваши любимые опросы, просто поправка. Если не учитывать, кто отвечает на вопросы, то результатом может оказаться питушня. (Скажем, не учитывать, есть ли у человека автомобиль, если опрос на тему общественного транспорта)
                      Именно, когда мы не учитываем дополнительные факторы, мы неверно сравниваем и конфликтуем с математикой. (Скажем, говорим, что pi = 3.14, хотя на самом деле pi > 3.14, но мы не учли следующую цифру)
                      Ответить
                      • Поциент путается в показаниях? Тут как бы либо релятивизм с диалектикой, либо нет. Нельзя сразу и то и другое принять, это как трусы с крестиком.
                        Про дополнительные факторы - я вообще не понял каким боком это сюда относится. Какие могут быть дополнительные факторы в формально заданой системе?
                        Ответить
                        • > Поциент путается в показаниях?
                          Кажется, что http://govnokod.ru/16305#comment239295 писал бот. Если бы это был анонимб, его бы уже запинали, а так все ищут здесь глубокий смысл. Не факт, что он дойдёт без искажения. Слишком сложно.

                          Хорошо бы было написать явно, в чём беда:
                          * Откуда из моего утверждения следует несравнимость предметов?
                          * Как строгая математика связана с мнением Кегдана?
                          * Где здесь формально заданная система? Успеет ли за всю жизнь хоть кто-то прочитать её полное непротиворечивое описание?
                          Даже если ответы очевидны для Вас, я не обижусь, если Вы посчитаете меня идиотом и расскажете.

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

                          > Про дополнительные факторы - я вообще не понял каким боком это сюда относится. Какие могут быть дополнительные факторы в формально заданой системе?
                          Если мы хотим оценить Хоббита по мнениям людей, нам важно, что это за люди.
                          Или Вы согласны с тем, что мнение человека, не знающего язык автора эквивалентно мнению знающего? Что мнение человека, который прочитал её в пять лет эквивалентно мнению прочитавшего в сорок? В этом случае - да, конечно, никак не относится; а Вы попросите Страйкера снести все Ваши комментарии про статистику, т.к. они противоречат Вашей точке зрения и позорят Вас.
                          Если проводится какой-нибудь эксперимент с измерениями, пытаются либо убрать источник ошибки (убрать Кегдана, использовать мнение англичанина), либо, если он есть (Кегдан уже написал комментарий), оценить величину ошибки. Вы же, если продолжать аналогию, всё округляете и приравниваете ошибку к нулю, а любую попытку оценить ошибку считаете уделом недочеловеков.
                          Ответить
                          • Следует не несравнимость предметов, а плохое понимание прочитанного. Когда человек заявляет, что "А для Б это совсем не то, что А для В" он становится на позицию релятивизма, и следовательно должен принять вытекающие последствия. Т.е. он должен принять то, что в мире Б не существует возможности упроядочить предметы так, чтобы этот порядок имел смысл в мире В, если эти миры различны. Это первейшая ошибка релятивизма (и поэтому им пользуются только люди, которые толком не понимают того, чем пользуются, т.е. в неформальной обстановке, политические демагоги, рекламщики, спорщики на интернет форумах). В более формальной обстановке такие аргументы ничего не стоят.

                            Я ничего не говорил про строгость математики, я вообще не знаю, что это такое. Мне все равно как это связано с именем Кегдана.

                            Зачем формальная система нужна именно здесь? Уже сама возможность существования формальных систем не совместима с утверждением "Именно, когда мы не учитываем дополнительные факторы, мы неверно сравниваем и конфликтуем с математикой." Т.е. это выражение - просто бред.

                            Но, что самое интересное в этой беседе, так это наблюдать за отчаяными попытками человека с абсолютно нулевым уровнем знаний выставить себя так, как будто он что-то об этом знает. Ну нет, чтобы пройти мимо говоря: "ох, блять, я этого никогда не учил, и нихуя в этом не понимаю, лучше пойду гляну че там по зомбоящику дают". - Нет, надо херню какую-то с умным видом сказать. Но есть в этом и познавательный момент. В жизни, к сожалению приходится работать и общаться с такими же самовлюбленными идиотами, и там, в отличие от виртуального мира, ставки выше. И такое общение приобретает практическую ценность как тренажер для общения с начальством и сторудниками, например.
                            Ответить
                            • >>Но, что самое интересное в этой беседе, так это наблюдать за отчаяными попытками человека с абсолютно нулевым уровнем знаний выставить себя так, как будто он что-то об этом знает. Ну нет, чтобы пройти мимо говоря: "ох, блять, я этого никогда не учил, и нихуя в этом не понимаю, лучше пойду гляну че там по зомбоящику дают". - Нет, надо херню какую-то с умным видом сказать. Но есть в этом и познавательный момент. В жизни, к сожалению приходится работать и общаться с такими же самовлюбленными идиотами, и там, в отличие от виртуального мира, ставки выше. И такое общение приобретает практическую ценность как тренажер для общения с начальством и сторудниками, например.

                              Сделай вид от третьего лица. Нужны еще комментарии?
                              Ответить
                            • 1. Вы согласны с тем, что мнение человека, не знающего язык автора эквивалентно мнению знающего?
                              2. Вы согласны с тем, что мнение человека, который прочитал её в пять лет эквивалентно мнению прочитавшего в сорок?
                              3. Вы согласны, что если у нас было "измерено" два числа, а потом после других "измерений" оказалось, что на самом деле это - модули 1. 4. комплексных чисел, то мы потеряли возможность их упорядочить?
                              5. Вы согласны с тем, что невозможность упорядочить комплексные числа не противоречит математике?

                              > Т.е. он должен принять то, что в мире Б не существует возможности упроядочить предметы так, чтобы этот порядок имел смысл в мире В, если эти миры различны. Это первейшая ошибка релятивизма
                              > имел смысл
                              Имеет ли смысл упорядочение модулей комплексных чисел для множества комплексных чисел? Зависит от позиции отвечающего. Если модуль связан с к.ч., то имеет. Если это внешняя функция, то не имеет, ведь сравниваем мы не сами числа, абстрактные модули.
                              Почему порядок в одном мире должен иметь смысл или сохраняться в абсолютно другом мире?

                              > И такое общение приобретает практическую ценность как тренажер для общения с начальством и сторудниками, например.
                              Вот Вы тут только тренируетесь, не отвечая на поставленные вопросы (А поцчему Ви спr'ашиваете?)
                              > В более формальной обстановке такие аргументы ничего не стоят.
                              Именно. Ваши высказывания имеют силу только в немногочисленных кружках философов-отшельников, конфликтующих с наукой.
                              Ответить
                              • Лол. "имеют силу" у философских отшельников. А математика "работает" только в академии наук, а если просто выйти на улицу, то сразу похуй, положил рубль в карман, достал два - ну и ладно, бывает.

                                Кто вообще что-то говорил про эквивалентнось? Речь идет о сравнимости. Ну возьми книжку да прочитай, вместо того чтобы херню писать. Дай отдохнуть рукам и поработай головой!
                                Ответить
                            • >> Где здесь формально заданная система? Успеет ли за всю жизнь хоть кто-то прочитать её полное непротиворечивое описание?
                              > Зачем формальная система нужна именно здесь? Уже сама возможность существования формальных систем не совместима с утверждением "Именно, когда мы не учитываем дополнительные факторы, мы неверно сравниваем и конфликтуем с математикой." Т.е. это выражение - просто бред.
                              Я говорю "Покажите мне X (формальную систему)"
                              Вы говорите "Возможность X не совместима с утверждением Y => Y - бред"
                              Я не спрашивал о конфликте X и Y. Покажите уже формальную систему и её использование в данном случае.
                              К моим утверждениям прилагаются примеры для демонстрации идеи. Вы, если проводить аналогию, хотите сказать, что pi = 3.14, а остальные знаки не важны.

                              > Я ничего не говорил про строгость математики, я вообще не знаю, что это такое. Мне все равно как это связано с именем Кегдана.
                              >> попытка представить ситуацию так, как будто ни один предмет не сравним с другим, что ведет к отрицанию сравнения и отношений, невозможности математики как таковой
                              Хорошо, "строгая" - это только мой эпитет. О "строгой математике" Вы не говорили, о "математике" - говорили.
                              Я спрашивал "Как строгая математика связана с мнением Кегдана?", т.е. "причём здесь все эти разговоры о математике, когда у нас рассматривается высказывание Кегдана из реальной жизни? Применимы ли все эти раздутые теории к реальной жизни? Как их применять? Почему можно применять?"
                              Ответить
                                • Да вот всё, больше не буду кормить. Надоедает, когда человек не отвечает на конкретные вопросы "Что есть X?", отвечает только в стиле политика "X - интересная тема. У нас есть теорема Y, из неё следует что X бывает белого и жёлтого цветов. Есть ещё понятие этнопсихологии, которое говорит, что теорема Y действует на множестве Z. А ты - х_й и говоришь херню!"

                                  P.S. Для wvxvw: если станете отвечать, то четвёртого вопроса в том комментарии не было, это просто опечатка. Я не хотел задавать Вам "вопрос 4", на который нет ответа, тут подвохов нет.
                                  Ответить
                                  • >>А ты - х_й

                                    А я х_й и я горжусь этим!) ведь мог бы быть пыстой)
                                    Ответить
                              • Вы специально друг друга находите? и устраиваете срач? гоу в няшный чатик
                                Ответить
                                • Да не специально. Приходит кто-то один, смотрит на комментарии и говорит "Это же просто возмутительно, автор неправ, надо ему обязательно ответить!" Так и начинается...
                                  Ответить
                          • >>Если мы хотим оценить Хоббита по мнениям людей, нам важно, что это за люди.

                            Зачем? Что бы сказать, к какой группе людей мы принадлежим? Что бы что то кому то доказать? Единственное мнение, на которое мне не плевать - это мое мнение.

                            Товарищ Толкиен был таким же человеком как и мы с вами. Если я могу обсирать стертора - то почему не могу обсирать Толкиена?)

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

                            А кто сказал, что ошибка я, а не вы?)
                            Ответить
                            • > Зачем? Что бы сказать, к какой группе людей мы принадлежим? Что бы что то кому то доказать? Единственное мнение, на которое мне не плевать - это мое мнение.
                              Может, и для этого... Есть ещё и конкурсы разные, где призы выдают. Вот там как раз оценивают 🙂

                              > Товарищ Толкиен был таким же человеком как и мы с вами. Если я могу обсирать стертора - то почему не могу обсирать Толкиена?)
                              А вот это Вы уже не мне говорите. Я чуть выше только лишь отвечал на комментарий про высокий уровень ЧСВ. Мол, причём тут ЧСВ, говорит что-то дядя Кегдан про дядю Толкиена и, если учесть, что это не англичанин, и речь тут скорее о понимании структур языка и т.п., то обижаться никому не надо.

                              > А кто сказал, что ошибка я, а не вы?)
                              А меня в том эксперименте не было. Я вообще не говорил, ошибка я или нет 🙂
                              Но, конечно же, ошибка. Вносящая громадную погрешность, поскольку я на английском читаю ответы Stackoverflow, а не Толкиена.
                              Ответить
                              • >>Есть ещё и конкурсы разные, где призы выдают. Вот там как раз оценивают 🙂

                                Как на собачей выставке?) Но я же лучше, лучше собаки)

                                >>обижаться никому не надо

                                я не обижался. Это был намек на "не возведи себе кумира" в виде священной коровы.

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

                                Луди вносят погрешности. Оценивать должны роботы!)
                                Ответить
                                • >>> Если мы хотим оценить Хоббита
                                  >> Есть ещё и конкурсы разные, где призы выдают. Вот там как раз оценивают 🙂
                                  > Как на собачей выставке?) Но я же лучше, лучше собаки)
                                  Да Хоббита оценивают, а не людей, которые оценивают Хоббита 🙂

                                  > Но я же лучше, лучше собаки)
                                  Но как мы можем сравнивать Хоббита и собаку?
                                  Перефразируя wvxvw,
                                  Хоббит существует как культурный феномен. В том же смысле, как существуют единороги и снежный человек. Это т.н. эпистемологическая вероятность. Тем не менее, Хоббит не существует как метафизическая вероятность. Т.е. мир, в котором мы живем не совместим с миром в котором мог бы реализоваться Хоббит. То, что существуют люди, которые думают, что они это практикуют, или что они видели реализацию - ровным счетом ничего не значит. Точно так же существуют люди видевшие инопланетян, привидения и т.д.
                                  Ответить
                    • >точно такая же ошибка, как и научный коммунизм.
                      Я не коммунист, но с какие пруфы что он ошибочен? Есть идея, а есть реализация. Это разные вещи.
                      То что реализация получилась говном, формально не означает ошибочность теории.
                      Вот укры тоже решили оспорить теорию оригинальным способом - посносили памятники Ленину. И тут же потеряли Донбасс, который он им подарил - считаю это очень ироничным.
                      Ответить
                • Какой ЧСВ? Я исхожу из собственных впечатлений. Что ВС что хоббит - гребанная нудятина. А сильмариллион вообще больше похож на учебник истории.

                  И вообще хороший филолог не равно хороший писатель.
                  Ответить
                  • > Что ВС что хоббит - гребанная нудятина.
                    Очевидно, это дело вкуса. От аудиоверсии я был в полном восторге. Коллегам тоже понравилось.
                    Ответить
                    • Ну так это мое субъективное мнение, спорить тут вообще смысла нет) При этом я не скажу, что мне вк не понравился.
                      Ответить
              • Годнота (если нравится киберпанк и всё такое).

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

                        Самая трагическая смерть из книг для меня - смерть Робба Старка из ПЛиО. Я аж читать перестал после этого. Целый день не мог заставить себя продолжить.)
                        Ответить
                      • Зато необычный конец. 2 года поеблись и ее Шрайк забрал обратно.
                        Ответить
                          • Зато у всех есть телепортация и Связующая Бездна. Если хочется то даже крестоформ остался.
                            Ответить
                      • А классику как? Азимов, Хайнлайн.

                        Я из классики наверное только Дюну не люблю. Ни книги, ни фильм. Только стратежку сеговскую.
                        Ответить
                        • Из Азимова: все Основание, Немезида, Приход Ночи, конец Вечности, Фантастическое Путешествие, Сами Боги, Стальные Пещеры(и вся серия), Звезды как Пыль(и вся серия из 3 книг).
                          Из Хайнлайна только Звездный Десант, Пасынки Вселенной и Чужак в Стране Чужой.
                          Ответить
                          • > Из Хайнлайна только
                            Тоннель в небо не читал?

                            К sf добавлю еще Артура Кларка с его Одиссеей и Свиданием с Рамой.
                            Ответить
                            • Кларк тоже доставляет. Ну и Лема хотя бы за Солярис надо упомянуть)

                              И Дика. Как не упомянуть этого чудесного психопата?
                              Ответить
                              • > Солярис
                                Вот что интересно - когда-то давным давно смотрел фильм и... нихуя не понял. Книга оказалась на порядок интересней.
                                Ответить
                                    • Советский все таки получше, чем с клуни, но с книгой никакого сравнения
                                      Ответить
                                • Книга всегда на порядок интереснее. Есть лишь пара исключений.

                                  Например Властелин колец - фильм лишь чуть-чуть уступает.
                                  Бойцовский клуб
                                  Первый сезон Игры престолов
                                  Ответить
                                    • Ну я не написал, так как это книга) Тогда уж и V for Vendetta
                                      Ответить
                                  • > Книга всегда на порядок интереснее.
                                    Ну насчет интересней не факт. Просто у фильма объем очень уж ограничен, и пересказать сюжет книги не всегда успевают. Имхо, из-за этого и возникает ощущение "я нихрена не понял".
                                    Ответить
                                    • не, не метраж главное. При желании можно и сериал сделать. Проблема в авторском видении.

                                      Пример - сериал про ведьмака. Там настолько лютая ересь встречается - стыдно становится
                                      Ответить
                                      • > Пример - сериал про ведьмака.
                                        Хм, а есть еще сериал? Я только книжки читал о нем. Ну раз сериал говно - то и смотреть не буду.

                                        > Пример - сериал про ведьмака.
                                        А вторая часть игрушки неплохо получилась. И, внезапно, работает под линухой.
                                        Ответить
                            • Кларка читал, тоннель не читал.

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

                              Не уверен что доставит.
                              Ответить
                              • Какая-то заумная рецензия... А на деле - рассказ об обыкновенных японских школьниках, которых в качестве экзамена по ОБЖ отправили на рандомную планету, да случайно там и оставили. Ну и о том, как они пытались выжить и построить какое-никакое общество.
                                Ответить
                                  • > Как "Повелитель Мух"?
                                    Х.з., повелителя мух не читал. Но, судя по описаниям, он на порядок пессимистичней туннеля.
                                    Ответить
                                • Пока мы здесь болтаем - Тарас ездит на работу на велосипеде.
                                  Ответить
                                  • с огромным передним колесом и маленьким задним. И жонглирует
                                    Ответить
                                      • нет. На балалайке играет медведь, который сидит на багажнике
                                        Ответить
                                      • В кепке.

                                        P.S. Тарас живет в Питере. Где-то между улицами Седова, Бабушкина и Полярников.
                                        Ответить
                                        • Так это ты что ли тот пользователь гугла, что подписался на мой канал?
                                          А кепка вроде в кадр не попадала, странно, как ты узнал?
                                          Ответить
                                          • А ты квартал узнал по названиям улиц на табличках, или по моему профилю в Страве?
                                            Ответить
                                            • По названиям улиц. Посмотрел на MOBA HAUS и проверил где он, потом посмотрел троллейбусный маршрут, а еще заметил название улицы на П на первых кадрах. Кепку увидел в форме тени на асфальте. А работаешь в Державинском переулке?
                                              Ответить
                                              • Деанон по полной. У меня так паранойя разовьется
                                                Ответить
                                              • А где ты там троллейбус увидел? Или ты пропустил видео через улучшитель качества и посмотрел номера на табличках на остановках?

                                                Нет, адрес моей работы находится не на Державинском, а на Москоском.
                                                Ответить
                                                • Троллейбусные пути и MOBA HAUS дали идею где искать, потом сравнил формы домов в Google Maps и на видео.
                                                  Ответить
                                                    • Ну длину то и взаимное расположение видно. Например при выезде на Седова два длинных дома и один стоит торцом к дороге.
                                                      Ответить
                                                      • А, "колбаса" - эпичный дом, да.
                                                        А то, что достаточно близко к центру города - каждые 100 метров ж/д переезд, что телефон аж подпрыгивает - не удивило?
                                                        Ответить
                                                          • я прихерачил субтитры, теперь можно видеть, как я сорокет ебашу на прямой (ну, только в одном месте, на самом деле)
                                                            Ответить
                    • P.S. Эх, надо образ флибусты всё-таки качнуть. А то сейчас открыл страничку о гиперионе, а там "книга удалена по требованию правоторговца". Последний оплот литературы умирает, всё подряд начали выпиливать ;(

                      P.P.S. В i2p у них вроде бы все осталось, но что-то лениво мне i2p роутер разогревать.
                      Ответить
                        • С одной стороны это даже хорошо - издательста не рискуют издавать всякое говно. С другой стороны - начинающему автору очень непросто.
                          Ответить
                          • А начинающие сами выкладывают на самиздат, чтобы набрать какую-никакую популярность. Ведь один хер издательства не побегут издавать книгу никому не известного автора.

                            Другое дело, что из-за этого развелись толпы графоманов, и среди их высеров найти что-то действительно годное очень сложно...
                            Ответить
                            • На самиздате царит стиплом, в топах в основном жополизы
                              Ответить
          • А я не осилил книжку тов. Холомьёва. Сначала всё просто и понятно, а потом как пошли матаны, как попёрло изо всех дыр, как начали значения застревать в монадах (Сегодня Борманд показывал, как с guard что-то застревает в монаде. Хоть там толком ничего, кроме пустого кортежа и не хранится, а список фильтруется!). Я уж подумал, что я тупой и лучше мне быть заедушным питушком или когда-нибудь на пенсии с хаскелем связываться.
            Ответить
            • Ну так монада - это ж маскировка побочных эффектов.

              Как я понял (а я мог не понять) guard бинарную маску накладывает на массив. По сути
              Ответить
              • > монада - это ж маскировка побочных эффектов

                Пожалуйста, не надо никого учить монадам.
                Ответить
                • ) и не собирался)

                  Сам пока с пафасом и благоговением пишу >>=
                  Ответить
                  • Кстати, смотрите, коллега:
                    императивщина, монады, хаскель, (>>=), кресты, императивщина
                    Ответить
                    • А что это за херь? Мельком смотрю и подозреваю что илитным хаскелистам приелась хвалёная немутабельность и фп.
                      Вот и придумывают новые абстракции чтобы вернуться в лоно структурного программирования и мутабельной (внешне) императивщины.
                      Ответить
                      • > А что это за херь?
                        Да тупо проекции с фирменной хаскелевской композицией.
                        В плюсах, например, есть указатели на поля (формально они называются "указатели на члены", но я буду использовать термин "поля"). Вещь удобная и нужная, но указатели на поля не сочетаются: нельзя соединить два указателя на поле, получив указатель на поле поля. А линзы сочетаются. Выглядит неплохо, применения я видел где-то в парсерах командной строки и конфигурационных файлов, при потоковой сборке объектов конфигурации.
                        http://www.haskellforall.com/2013/05/program-imperatively-using-haskell.html
                        Ответить
                        • Мне последнее время кажется, что они все поехавшие. Они просто перешли черту и больше не кажутся мне адекватными. Вводят защиту, потом её обходят разными костылями. Какой багор)))
                          Ответить
                          • >>Вводят защиту, потом её обходят разными костылями.

                            вот поэтому я и не люблю рефлексию ебаную
                            Ответить
                            • Она решает реальные проблемы, а не создает реальные проблемы.
                              Ответить
                          • > Вводят защиту, потом её обходят разными костылями.

                            Ты о чём вообще? С линзами все апдейты недеструктивные - создаются копии. Безопасности типов линзы не нарушают.
                            Ответить
                            • > все апдейты недеструктивные - создаются копии.
                              На разных уровнях абстракции - по-разному.
                              С точки зрения юзера этих линз выглядит мутабельно, с точки зрения языка хачкелл - нет.
                              А если запилят copy elision как в крестах, например, то вообще умора: c точки зрения кодера будет выглядеть мутабельно и в машинном коде будет мутабельно.
                              Конечно при этом оно будет потокобезопасно, что немаловажно.
                              Ответить
                          • Они просто таким образом подписались под тем что ололо-революционный хаскель-подход, вместо императивной петушни нежизнеспособен.
                            Ответить
                            • Выпейте кагор, расслабтесь.
                              Они "подписались" раньше, включили do-нотацию, ведь: "С точки зрения юзера этих линз выглядит мутабельно, с точки зрения языка хачкелл - нет." Ах, да вы забыли, что . на линзах инвертирована, прям как в имеративщине: [1,2,3] ^.. traverse . to (+1) . to (*2) (надуманный пример, само-собой).
                              // Линзы критикуют, но не за это.
                              Ответить
                            • Есть теорема, доказывающая тождественность множеств порождаемых ФП и императивщиной программ. Все, что можно написать в ФП можно написать и императивно. Верно и обратное
                              Ответить
                        • Из того, что видел, лучше всего линзы (в данном случае - призмы) проявляются здесь: https://www.fpcomplete.com/user/tel/lens-aeson-traversals-prisms
                          Сравните: монаду Maybe (на do или >=>) с встроенным (в lens) Aeson-приблудами.
                          (Но для xml, если в ресурсы не упирается, hxt всеже приятнее, да и стрелочки понадежнее этого супа из типов.)
                          Ответить
                          • > >=>
                            Кстати, зачем было придумывать столько операторов ((.), (>=>), etc), если есть кошерный оператор композиции категорий в Control.Category?
                            Ответить
                            • Ну функциям (их много на фоне остальных категорий) точно нужен отдельный оператор. Вот ++ отдельно от <> (хотя раньше он вроде моноидным был). Еще момент: тут есть . = (<=<) (<<< и >>>), а устоявшейся пары к (.) вроде нет (все-таки композицию через <<< как-то не очень тянет %). Да и наверное по большей части, что для прикладной пользы Category позже прикрутили.
                              Ответить
    • Вопрос - а LYAH стоит читать, или сразу "взрослые" книжки?
      Ответить
  • > При необходимости воспользоваться механизмом наследования классов.

    Автору учебника следует убиться об стенку.
    Ответить
  • Хороший тон - не писать рекурсивных функций самому, но я что-то не вижу другого выхода.
    -- http://ideone.com/tG3EzH
    -- alist analogue of Data.Map.insertWith
    insertWith :: Eq k => (a -> a -> a)
                  -> k
                  -> a
                  -> [(k, a)]
                  -> [(k, a)]
    insertWith _ key val [] = [(key, val)]
    insertWith f key val (x@(k, v):xs)
      = if k == key
        then (key, f val v) : xs
        else x : insertWith f key val xs
    
    frequencies :: (Eq a) => [a] -> [(a, Int)]
    frequencies = foldr updateCounts []
        where updateCounts c = insertWith (+) c 1
    Ответить
    • > но я что-то не вижу другого выхода
      let frequencies x = Map.toList $ foldr (flip (Map.insertWith (+)) 1) Map.empty x
      Что-то до меня не доходит, почему без x выводится какая-то жопа в виде [()] -> [((), Integer)] , и, соответственно, ничего не работает...

      P.S. Разобрался - это monomorphism restriction как обычно мешает.

      http://ideone.com/mem1SO
      Ответить
      • Ну про мапу-то я, разумеется в курсе (коммент к insertWith как бы намекает).

        Я имел в виду, как написать insertWith на alist без рекурсии, используя готовые функции высшего порядка 🙂
        Ответить
        • > Я имел в виду, как написать insertWith на alist без рекурсии, используя готовые функции высшего порядка 🙂
          Надо подумать... Но я пока не могу вспомнить ФВП, которую можно остановить. Тот же fold будет молотить список до конца в любом случае...

          А пока вот такое краткое решение:
          frequencies = map (head &&& length) . group . sort
          http://ideone.com/eIxc7m
          Ответить
          • Да, вот это очень годно.
            Жаль только не потоковое, но этого в задаче и не требовалось.
            Ответить
      • > monomorphism restriction как обычно мешает.
        +1. Но самое печальное, что если его отключить не будет компилироваться другой код в некоторых случаях, тк отключение этой хрени мешает выводу типов
        Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8