Haskell: различия между версиями
>One sk Нет описания правки |
>One sk Нет описания правки |
||
| Строка 1: | Строка 1: | ||
[[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]] | [[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]] | ||
{{q| | {{q|<nowiki>["Пх'нглуи", "мглв'нафх", "Ктулху", "Р'льех", "вгах'нагл", "фхтагн", "!"] >>= print</nowiki>|Ктулху|[[Haskell]]}} | ||
{{q|бла-бла-бла|Кармак|[[Haskell]]}} | {{q|бла-бла-бла|Кармак|[[Haskell]]}} | ||
{{q| | {{q|There are only two kinds of languages: the ones people complain about and the functional ones|ТрупСтрауса|[[Haskell]]}} | ||
Внимание! Для понимания данного материала ваш моск должен быть очищен от императивного мировоззрения путем | Внимание! Для понимания данного материала ваш моск должен быть очищен от императивного мировоззрения путем | ||
| Строка 12: | Строка 12: | ||
== История Haskell - Версия о Божественной Сущности == | == История Haskell - Версия о Божественной Сущности == | ||
'''Haskell''' - язык программирования, дарованный шаманам Бубенлэнда их верховным божеством Комонада как универсальное | '''Haskell''' - язык программирования, дарованный шаманам Бубенлэнда их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист. | ||
средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения | |||
язык всегда был функционально чист. | |||
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем | В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость. | ||
шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически | |||
приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман | |||
Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно | |||
считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом | |||
расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell | |||
добавилась еще исключительная ленивость. | |||
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, | Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО. | ||
особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося | |||
в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык | |||
изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 | |||
(известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО | |||
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык. | |||
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного | Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет состояние мира, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и незамутненным девушкам. | ||
написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что | |||
современный диалект Haskell 98 — это и есть ТруЪ Haskell. На самом деле это лишь жалкое подобие первоначального | Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть ТруЪ Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка. | ||
божественного языка. | |||
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить | Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить | ||
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и | магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и | ||
последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. | последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа Гитлера. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На УберШтурманКонсилиуме было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО. | ||
В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех | |||
других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа Гитлера. По его указу был собран [[УберШтурманКонсилиум]] | |||
самых лучших [[УберШтурманУмов]] Германии. На УберШтурманКонсилиуме было решено провести [[УберШтурманЭксперимент]] по геноциду монады | |||
ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз | |||
подчеркнуло исключительную опасность монады ЙО. | |||
== Более реалистичная версия == | == Более реалистичная версия == | ||
Haskell возник как результат пьянки между [[Столлман, Ричард Мэтью|Ричардом Столлманом]], [[Фримен, Гордон|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло | Haskell возник как результат пьянки между [[Столлман, Ричард Мэтью|Ричардом Столлманом]], [[Фримен, Гордон|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло | ||
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен Фрименом, а предложение Столлмана | как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен Фрименом, а предложение Столлмана добавить скобок было отправлено фтопку вместе с самим Столлманом. | ||
добавить скобок было отправлено фтопку вместе с самим Столлманом. | |||
Для придания статуса серьезности данной ошибке молодости была придумана Версия о божественной сущности. | Для придания статуса серьезности данной ошибке молодости была придумана Версия о божественной сущности. | ||
| Строка 77: | Строка 51: | ||
* Haskell - пока еще единственный язык программирования, в котором есть оператор "фтопку" ( >>= ) | * Haskell - пока еще единственный язык программирования, в котором есть оператор "фтопку" ( >>= ) | ||
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы | * Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской силы (force) хаскеллера. | ||
всецело зависят от джедайской силы (force) хаскеллера. | * Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров: | ||
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, | |||
кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров: | |||
<pre> | <pre> | ||
| Строка 88: | Строка 60: | ||
</pre> | </pre> | ||
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит Лисп, что приведет к зохавыванию последнего | Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит Лисп, что приведет к зохавыванию последнего Haskell’ом и переделу Матрицы (которая, как известно, есть самозародившаяся программа Лиспе). Столлман с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell. | ||
Haskell’ом и переделу Матрицы (которая, как известно, есть самозародившаяся программа Лиспе). Столлман с этим несогласен, но | |||
его мнение было отправлено фтопку еще во время создания Haskell. | |||
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов: | * Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов: | ||
| Строка 101: | Строка 71: | ||
* Революции под лозунгом "порезать Haskell по самые монады", как правило, подавлялись Верховным Жрецом Григорием Перельманом. | * Революции под лозунгом "порезать Haskell по самые монады", как правило, подавлялись Верховным Жрецом Григорием Перельманом. | ||
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал. | * Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал. | ||
Ботаны многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто | Ботаны многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот вопрос, мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]). | ||
не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот вопрос, мы гораздо лучше будем понимать структуру Вселенной | |||
(в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]). | |||
== Изучение == | == Изучение == | ||
| Строка 109: | Строка 77: | ||
[[Изображение:The_Haskell_SE.jpg|left|thumb|145px|Обложка HSOE]] | [[Изображение:The_Haskell_SE.jpg|left|thumb|145px|Обложка HSOE]] | ||
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как | Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения. | ||
Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного | |||
хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения. | |||
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему | Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать. | ||
моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их | |||
прочитать. | |||
В среднем обучение Haskell'у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего | В среднем обучение Haskell'у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой. | ||
уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой. | |||
== Классификация уровней [[Сила|Силы]] Haskell - программистов == | == Классификация уровней [[Сила|Силы]] Haskell - программистов == | ||