- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 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
/-*)
Вон же Роман накидал нормальных ссылок. Почитай лучше RWH.
RWH только на английском есть?
http://anton-k.github.io/ru-haskell-book/book/1.html#fn1
На анлийском я могу, но не без трудностей, а изучать хаскелл - это не гарри поттера читать, так что RWH оставлю на потом для укрепления моска
На самом деле художетсвенную литературу на иностранном языке читать на порядок сложнее, чем техническую. Проверено на собственном опыте - читал хоббита и snowcrash на инглише.
Я хоббита читал - он не самым лучшим языком написал. ГП проще. Если в ХЛ я могу забить на что то, то в технической бывает перечитываю место по нескольку раз, если тема совсем в мозг не ложится. Там уже нужно максимальное понимание происходящего и минимум затрат на чтение. По этому учить новое лучше на родном языке. А когда уже более-менее в теме - можно и буржуйское почитать.
ЭТО ОФИГЕННО
А вот в технических книжках и статьях язык, как правило, очень простой, можно сказать примитивный. И там затрат на чтение и понимание у меня почти нет - ведь большинство терминов из computer science один хуй позаимствовано из инглиша и звучит на всех языках почти одинаково (к тому же не надо думать, что переводчик имел в виду под потоком - thread или stream). А обычно возникает даже обратный эффект - из-за того, что 99% статей переводили надмозги, оригинал читается и осиливается быстрее...
И если литературу по основам еще можно найти на русском в более-менее хорошем изложении, то более тонкие и серьезные темы и вопросы - увы, только на английском.
Кстати, было замечено, что такой ЧСВ, хотя и встречается в любых отраслях человеческой деятельности, особенно характерен для программистов.
Если это про меня, то это не так. Сравнивайте на здоровье.
Это, если приводить в пример Ваши любимые опросы, просто поправка. Если не учитывать, кто отвечает на вопросы, то результатом может оказаться питушня. (Скажем, не учитывать, есть ли у человека автомобиль, если опрос на тему общественного транспорта)
Именно, когда мы не учитываем дополнительные факторы, мы неверно сравниваем и конфликтуем с математикой. (Скажем, говорим, что pi = 3.14, хотя на самом деле pi > 3.14, но мы не учли следующую цифру)
Про дополнительные факторы - я вообще не понял каким боком это сюда относится. Какие могут быть дополнительные факторы в формально заданой системе?
Кажется, что http://govnokod.ru/16305#comment239295 писал бот. Если бы это был анонимб, его бы уже запинали, а так все ищут здесь глубокий смысл. Не факт, что он дойдёт без искажения. Слишком сложно.
Хорошо бы было написать явно, в чём беда:
* Откуда из моего утверждения следует несравнимость предметов?
* Как строгая математика связана с мнением Кегдана?
* Где здесь формально заданная система? Успеет ли за всю жизнь хоть кто-то прочитать её полное непротиворечивое описание?
Даже если ответы очевидны для Вас, я не обижусь, если Вы посчитаете меня идиотом и расскажете.
> либо релятивизм с диалектикой, либо нет
А это уже Вы сами с терминами разбирайтесь, это не моя стихия. Я лишь утверждаю, что наличие дополнительной информации может уточнить сравнение. А если объекты были изначально несравнимыми, информация помогает понять это (например, оказывается, что наши два числа - модули комплексных, и их уже нельзя упорядочить)
> Про дополнительные факторы - я вообще не понял каким боком это сюда относится. Какие могут быть дополнительные факторы в формально заданой системе?
Если мы хотим оценить Хоббита по мнениям людей, нам важно, что это за люди.
Или Вы согласны с тем, что мнение человека, не знающего язык автора эквивалентно мнению знающего? Что мнение человека, который прочитал её в пять лет эквивалентно мнению прочитавшего в сорок? В этом случае - да, конечно, никак не относится; а Вы попросите Страйкера снести все Ваши комментарии про статистику, т.к. они противоречат Вашей точке зрения и позорят Вас.
Если проводится какой-нибудь эксперимент с измерениями, пытаются либо убрать источник ошибки (убрать Кегдана, использовать мнение англичанина), либо, если он есть (Кегдан уже написал комментарий), оценить величину ошибки. Вы же, если продолжать аналогию, всё округляете и приравниваете ошибку к нулю, а любую попытку оценить ошибку считаете уделом недочеловеков.
Я ничего не говорил про строгость математики, я вообще не знаю, что это такое. Мне все равно как это связано с именем Кегдана.
Зачем формальная система нужна именно здесь? Уже сама возможность существования формальных систем не совместима с утверждением "Именно, когда мы не учитываем дополнительные факторы, мы неверно сравниваем и конфликтуем с математикой." Т.е. это выражение - просто бред.
Но, что самое интересное в этой беседе, так это наблюдать за отчаяными попытками человека с абсолютно нулевым уровнем знаний выставить себя так, как будто он что-то об этом знает. Ну нет, чтобы пройти мимо говоря: "ох, блять, я этого никогда не учил, и нихуя в этом не понимаю, лучше пойду гляну че там по зомбоящику дают". - Нет, надо херню какую-то с умным видом сказать. Но есть в этом и познавательный момент. В жизни, к сожалению приходится работать и общаться с такими же самовлюбленными идиотами, и там, в отличие от виртуального мира, ставки выше. И такое общение приобретает практическую ценность как тренажер для общения с начальством и сторудниками, например.
Сделай вид от третьего лица. Нужны еще комментарии?
2. Вы согласны с тем, что мнение человека, который прочитал её в пять лет эквивалентно мнению прочитавшего в сорок?
3. Вы согласны, что если у нас было "измерено" два числа, а потом после других "измерений" оказалось, что на самом деле это - модули 1. 4. комплексных чисел, то мы потеряли возможность их упорядочить?
5. Вы согласны с тем, что невозможность упорядочить комплексные числа не противоречит математике?
> Т.е. он должен принять то, что в мире Б не существует возможности упроядочить предметы так, чтобы этот порядок имел смысл в мире В, если эти миры различны. Это первейшая ошибка релятивизма
> имел смысл
Имеет ли смысл упорядочение модулей комплексных чисел для множества комплексных чисел? Зависит от позиции отвечающего. Если модуль связан с к.ч., то имеет. Если это внешняя функция, то не имеет, ведь сравниваем мы не сами числа, абстрактные модули.
Почему порядок в одном мире должен иметь смысл или сохраняться в абсолютно другом мире?
> И такое общение приобретает практическую ценность как тренажер для общения с начальством и сторудниками, например.
Вот Вы тут только тренируетесь, не отвечая на поставленные вопросы (А поцчему Ви спr'ашиваете?)
> В более формальной обстановке такие аргументы ничего не стоят.
Именно. Ваши высказывания имеют силу только в немногочисленных кружках философов-отшельников, конфликтующих с наукой.
Кто вообще что-то говорил про эквивалентнось? Речь идет о сравнимости. Ну возьми книжку да прочитай, вместо того чтобы херню писать. Дай отдохнуть рукам и поработай головой!
> Зачем формальная система нужна именно здесь? Уже сама возможность существования формальных систем не совместима с утверждением "Именно, когда мы не учитываем дополнительные факторы, мы неверно сравниваем и конфликтуем с математикой." Т.е. это выражение - просто бред.
Я говорю "Покажите мне X (формальную систему)"
Вы говорите "Возможность X не совместима с утверждением Y => Y - бред"
Я не спрашивал о конфликте X и Y. Покажите уже формальную систему и её использование в данном случае.
К моим утверждениям прилагаются примеры для демонстрации идеи. Вы, если проводить аналогию, хотите сказать, что pi = 3.14, а остальные знаки не важны.
> Я ничего не говорил про строгость математики, я вообще не знаю, что это такое. Мне все равно как это связано с именем Кегдана.
>> попытка представить ситуацию так, как будто ни один предмет не сравним с другим, что ведет к отрицанию сравнения и отношений, невозможности математики как таковой
Хорошо, "строгая" - это только мой эпитет. О "строгой математике" Вы не говорили, о "математике" - говорили.
Я спрашивал "Как строгая математика связана с мнением Кегдана?", т.е. "причём здесь все эти разговоры о математике, когда у нас рассматривается высказывание Кегдана из реальной жизни? Применимы ли все эти раздутые теории к реальной жизни? Как их применять? Почему можно применять?"
P.S. Для wvxvw: если станете отвечать, то четвёртого вопроса в том комментарии не было, это просто опечатка. Я не хотел задавать Вам "вопрос 4", на который нет ответа, тут подвохов нет.
А я х_й и я горжусь этим!) ведь мог бы быть пыстой)
Зачем? Что бы сказать, к какой группе людей мы принадлежим? Что бы что то кому то доказать? Единственное мнение, на которое мне не плевать - это мое мнение.
Товарищ Толкиен был таким же человеком как и мы с вами. Если я могу обсирать стертора - то почему не могу обсирать Толкиена?)
>>Если проводится какой-нибудь эксперимент с измерениями, пытаются либо убрать источник ошибки (убрать Кегдана, использовать мнение англичанина), либо, если он есть (Кегдан уже написал комментарий), оценить величину ошибки.
А кто сказал, что ошибка я, а не вы?)
Может, и для этого... Есть ещё и конкурсы разные, где призы выдают. Вот там как раз оценивают :)
> Товарищ Толкиен был таким же человеком как и мы с вами. Если я могу обсирать стертора - то почему не могу обсирать Толкиена?)
А вот это Вы уже не мне говорите. Я чуть выше только лишь отвечал на комментарий про высокий уровень ЧСВ. Мол, причём тут ЧСВ, говорит что-то дядя Кегдан про дядю Толкиена и, если учесть, что это не англичанин, и речь тут скорее о понимании структур языка и т.п., то обижаться никому не надо.
> А кто сказал, что ошибка я, а не вы?)
А меня в том эксперименте не было. Я вообще не говорил, ошибка я или нет :)
Но, конечно же, ошибка. Вносящая громадную погрешность, поскольку я на английском читаю ответы Stackoverflow, а не Толкиена.
Как на собачей выставке?) Но я же лучше, лучше собаки)
>>обижаться никому не надо
я не обижался. Это был намек на "не возведи себе кумира" в виде священной коровы.
>>Но, конечно же, ошибка. Вносящая громадную погрешность, поскольку я на английском читаю ответы Stackoverflow, а не Толкиена.
Луди вносят погрешности. Оценивать должны роботы!)
>> Есть ещё и конкурсы разные, где призы выдают. Вот там как раз оценивают :)
> Как на собачей выставке?) Но я же лучше, лучше собаки)
Да Хоббита оценивают, а не людей, которые оценивают Хоббита :)
> Но я же лучше, лучше собаки)
Но как мы можем сравнивать Хоббита и собаку?
Перефразируя wvxvw,
Хоббит существует как культурный феномен. В том же смысле, как существуют единороги и снежный человек. Это т.н. эпистемологическая вероятность. Тем не менее, Хоббит не существует как метафизическая вероятность. Т.е. мир, в котором мы живем не совместим с миром в котором мог бы реализоваться Хоббит. То, что существуют люди, которые думают, что они это практикуют, или что они видели реализацию - ровным счетом ничего не значит. Точно так же существуют люди видевшие инопланетян, привидения и т.д.
Я не коммунист, но с какие пруфы что он ошибочен? Есть идея, а есть реализация. Это разные вещи.
То что реализация получилась говном, формально не означает ошибочность теории.
Вот укры тоже решили оспорить теорию оригинальным способом - посносили памятники Ленину. И тут же потеряли Донбасс, который он им подарил - считаю это очень ироничным.
И вообще хороший филолог не равно хороший писатель.
Очевидно, это дело вкуса. От аудиоверсии я был в полном восторге. Коллегам тоже понравилось.
Надо будет еще "Букварь для благородных девиц" в оригинале почитать, а то я его на русском читал давныыым-давно, как бы не больше десяти лет назад.
Самая трагическая смерть из книг для меня - смерть Робба Старка из ПЛиО. Я аж читать перестал после этого. Целый день не мог заставить себя продолжить.)
Я из классики наверное только Дюну не люблю. Ни книги, ни фильм. Только стратежку сеговскую.
Из Хайнлайна только Звездный Десант, Пасынки Вселенной и Чужак в Стране Чужой.
Тоннель в небо не читал?
К sf добавлю еще Артура Кларка с его Одиссеей и Свиданием с Рамой.
И Дика. Как не упомянуть этого чудесного психопата?
Вот что интересно - когда-то давным давно смотрел фильм и... нихуя не понял. Книга оказалась на порядок интересней.
Советский.
Например Властелин колец - фильм лишь чуть-чуть уступает.
Бойцовский клуб
Первый сезон Игры престолов
Ну насчет интересней не факт. Просто у фильма объем очень уж ограничен, и пересказать сюжет книги не всегда успевают. Имхо, из-за этого и возникает ощущение "я нихрена не понял".
Пример - сериал про ведьмака. Там настолько лютая ересь встречается - стыдно становится
Хм, а есть еще сериал? Я только книжки читал о нем. Ну раз сериал говно - то и смотреть не буду.
> Пример - сериал про ведьмака.
А вторая часть игрушки неплохо получилась. И, внезапно, работает под линухой.
http://ru.wikipedia.org/wiki/Ведьмак_(телесериал)
Роман рассказывает о сложностях развития и природе человека как социального животного.
Не уверен что доставит.
Х.з., повелителя мух не читал. Но, судя по описаниям, он на порядок пессимистичней туннеля.
P.S. Тарас живет в Питере. Где-то между улицами Седова, Бабушкина и Полярников.
А кепка вроде в кадр не попадала, странно, как ты узнал?
https://pp.vk.me/c413730/v413730062/7364/LlpuJ7f4QiE.jpg
http://vk.com/kegdan
1) не вижу особого смысла в социалках, даже вк читаю раз в месяц
2) юзабилити одноглазников - ёбаное говнище, авторам руки оторвать
Нет, адрес моей работы находится не на Державинском, а на Москоском.
А то, что достаточно близко к центру города - каждые 100 метров ж/д переезд, что телефон аж подпрыгивает - не удивило?
P.P.S. В i2p у них вроде бы все осталось, но что-то лениво мне i2p роутер разогревать.
Другое дело, что из-за этого развелись толпы графоманов, и среди их высеров найти что-то действительно годное очень сложно...
Как я понял (а я мог не понять) guard бинарную маску накладывает на массив. По сути
Пожалуйста, не надо никого учить монадам.
Сам пока с пафасом и благоговением пишу >>=
императивщина, монады, хаскель, (>>=), кресты, императивщина
Вот и придумывают новые абстракции чтобы вернуться в лоно структурного программирования и мутабельной (внешне) императивщины.
Да тупо проекции с фирменной хаскелевской композицией.
В плюсах, например, есть указатели на поля (формально они называются "указатели на члены", но я буду использовать термин "поля"). Вещь удобная и нужная, но указатели на поля не сочетаются: нельзя соединить два указателя на поле, получив указатель на поле поля. А линзы сочетаются. Выглядит неплохо, применения я видел где-то в парсерах командной строки и конфигурационных файлов, при потоковой сборке объектов конфигурации.
вот поэтому я и не люблю рефлексию ебаную
Ты о чём вообще? С линзами все апдейты недеструктивные - создаются копии. Безопасности типов линзы не нарушают.
На разных уровнях абстракции - по-разному.
С точки зрения юзера этих линз выглядит мутабельно, с точки зрения языка хачкелл - нет.
А если запилят copy elision как в крестах, например, то вообще умора: c точки зрения кодера будет выглядеть мутабельно и в машинном коде будет мутабельно.
Конечно при этом оно будет потокобезопасно, что немаловажно.
Они "подписались" раньше, включили do-нотацию, ведь: "С точки зрения юзера этих линз выглядит мутабельно, с точки зрения языка хачкелл - нет." Ах, да вы забыли, что . на линзах инвертирована, прям как в имеративщине: [1,2,3] ^.. traverse . to (+1) . to (*2) (надуманный пример, само-собой).
// Линзы критикуют, но не за это.
Сравните: монаду Maybe (на do или >=>) с встроенным (в lens) Aeson-приблудами.
(Но для xml, если в ресурсы не упирается, hxt всеже приятнее, да и стрелочки понадежнее этого супа из типов.)
fixed
Кстати, зачем было придумывать столько операторов ((.), (>=>), etc), если есть кошерный оператор композиции категорий в Control.Category?
Автору учебника следует убиться об стенку.
Что-то до меня не доходит, почему без x выводится какая-то жопа в виде [()] -> [((), Integer)] , и, соответственно, ничего не работает...
P.S. Разобрался - это monomorphism restriction как обычно мешает.
http://ideone.com/mem1SO
Я имел в виду, как написать insertWith на alist без рекурсии, используя готовые функции высшего порядка :)
Надо подумать... Но я пока не могу вспомнить ФВП, которую можно остановить. Тот же fold будет молотить список до конца в любом случае...
А пока вот такое краткое решение:http://ideone.com/eIxc7m
Жаль только не потоковое, но этого в задаче и не требовалось.
+1. Но самое печальное, что если его отключить не будет компилироваться другой код в некоторых случаях, тк отключение этой хрени мешает выводу типов