<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://absurdopedia.wiki/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.21.40.13</id>
	<title>Абсурдопедия - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://absurdopedia.wiki/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.21.40.13"/>
	<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/217.21.40.13"/>
	<updated>2026-06-30T17:28:09Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=%D0%91%D0%B8%D0%BB%D0%BB%D0%B8_%D0%93%D0%B5%D0%B9%D1%82%D1%81&amp;diff=4191</id>
		<title>Билли Гейтс</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=%D0%91%D0%B8%D0%BB%D0%BB%D0%B8_%D0%93%D0%B5%D0%B9%D1%82%D1%81&amp;diff=4191"/>
		<updated>2010-06-29T16:49:18Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{non-rastaman}}&lt;br /&gt;
{{Wikipedia|Гейтс, ДеБилл}}&lt;br /&gt;
{{q|$_$|Обычный человек|богатство ДеБилла Гейтса}}&lt;br /&gt;
{{Q|Не в деньгах счастье.|ДеБилл Гейтс|мещанские стереотипы|nolink=1}}&lt;br /&gt;
{{Q|Наступит тот день, когда я зохаваю и тебя, мой мастер!|ДеБилл Гейтс|Ктулху|nolink=1}}&lt;br /&gt;
{{Q|М-м! Какой вкусный у тебя мозг, ДеБилли! Может, мне зохавать тебя полностью, а?|Ктулху|ДеБилла Гейтса}}&lt;br /&gt;
{{q|ДеБилл Гейтс - сколько в слове гласных, столько и слогов|Фонетический словарь|ДеБилла Гейтса}}&lt;br /&gt;
{{Q|Как зовут собаку Гейтса? — Собаку Гейтса зовут ДеБилл|Учение марксизма-джедаизма|собаку Гейтса}}&lt;br /&gt;
{{Q|И се, видел же я Зверя|Апокалипсис|Гейтса}}&lt;br /&gt;
{{Q|Продай мне свою драгоценную душу, и я подключу Ад к Инфернету|ДеБилл Гейтс|Сотону|nolink=1}}&lt;br /&gt;
{{Q|640 Кб памяти должно хватать каждому|ДеБилл Гейтс|[[память]]|nolink=1}}&lt;br /&gt;
{{Q|Windows, сын ошибок трудных|Йода|NecroSoft Windows}}&lt;br /&gt;
{{Q|ДеБилл - Гей, тссс!|Анонимный доброжелатель|ДеБилла Гейтса}}&lt;br /&gt;
{{Q|- Верите ли Вы в Бога?&amp;lt;br /&amp;gt;- У меня нет никаких оснований не верить в себя.|Диалог между [[Римский, Папа|Папой Римским]] и ДеБиллом Гейтсом||nolink=1}}&lt;br /&gt;
{{Q|Закончился импортный шёлк. Пришлось подтираться бумагой. Был злой и написал вирус.|ДеБилл Гейтс. Из личного дневника||nolink=1}}&lt;br /&gt;
{{Q|Сегодня вечером, возвращаясь из офиса домой, уронил кошелёк с бюджетом Мексики.|ДеБилл Гейтс|свои трудовые будни|nolink=1}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Файл:Sithbilly.JPG|thumb|ДеБилли познаёт темную сторону силы.]]&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;де&#039;&#039;-ДеБилл Гейтс&#039;&#039;&#039; (правильнее &#039;&#039;&#039;Гейтс версия 3.1&#039;&#039;&#039;), ДеБилл-Гей! Тс! Только никому не говорите! , ДеБилли (Бинго), УГ (Уильям Гейтс), настоящее имя — Вилли Хаимович Гейцман, р. 1876 в г. [[Одесса|Одессе]], [[Украина]] — тоталитарный диктатор Вселенной с 1995 и богатейший буржуй мира с 1997. Третий (после [[Гитлер, Адольф Алоизович|Адольфа Гитлера]] и [[Джордж Буш-младший|Джорджа Буша-младшего]]) [[Антихрист]] в мировой истории, основатель и глава [[НекроСофт|Торговой Федерации]] до своего переезда в [[Бобруйск]]. Также лорд ситхов и наместник Ктулху в сеем мире. Также известен как Блин Гейтс, что в переводе с удмуртского &#039;&#039;«Ворота в булочную»&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Мастер-оконщик ==&lt;br /&gt;
[[Файл:Melkaya-rabota.jpg|thumb|молодой ДеБилли работает над созданием первых версий ДОС.]]&lt;br /&gt;
[[Файл:Errors.png|thumb|Windows Хрен Разберёшь — образец стабильности и надежности.]]Самый выдающийся производитель оконных рам, ДеБилли Гейтс начинал свой творческий этап с сарайчика, в котором вместе со своим напарником Петром Великим рубил окна и клепал оконные рамы к ним. Каждой последующей оконной раме он присваивал номер по количеству миллионов людей, которых он кинул последствием продажи этой рамы. Так появились Окна (Windows) 0.00 и 0.000001. Затем следовали 3.0, 3.11 и 4.11. После этого ДеБилли взял моду называть операционные системы по их главному параметру — количеству ошибок. Так были названы следующие версии Windows: 95 % ошибок, 98 % ошибок, 2000 профессиональных ошибок, Xrен Pеrеsчитаешь ошибок (более известная как «свинья» из-за особенности гадить где попало). К сожалению, в последующих версиях количество ошибок и нестабильностей стало слишком большим, чтобы поместиться на коробку с диском. Следующие версии Windows пришлось назвать безлико: 2003 Server, XP-64bit, курица. Своё первое укомплектованное окно и обеспечивавший его софтвер в форме оконной рамы ДеБилли продал напарнику, Петру Великому, выдавая его за «Окно в Европу — [[Infernet Exploder]]», с помощью которого якобы можно было проникать в сеть [[Интернет|Инфернет]] без доступа к Балтийскому морю.&lt;br /&gt;
&lt;br /&gt;
== Правитель мира ==&lt;br /&gt;
[[Файл:Adolfgates.jpg|thumb|Адольф Гейтс ведёт истинных арийцев из НекроСофта к мировому господству.]]&lt;br /&gt;
Изобретение персонального компьютера облегчило выход Гейтса на мировой рынок. С этой целью в 1988 Гейтс основал тоталитарную секту под странным названием [[НекроСофт]], от последователей которой требовалось безукоризненное поклонение и служение Великому гуру ДеБилли Гейтсу. Каждый человек, воспользовавшийся Запретным Плодом производства ДеБилли Гейтса, автоматически записывался в эту секту со всеми истекающими последствиями (печать Антихриста, или идентификационный код, на правой руке и на лбу). С помощью данной секты, компьютерных технологий и Инфернета ДеБилли Гейтс шаг за шагом приближался к завоеванию мирового господства путём достижения психического контроля над всем человечеством. Год за годом он выпускал всё более и более нежизнеспособные и бессмысленные операционные системы, требовавшие всё большего напряжения и повиновения юзера. К каждой из них прилагался пакет дополнительных миссий под названием [[НекроСофт Офис]]. В сочетании с тотальным контролем сознания они вытесняли любого конкурента посредством «эффекта штурмовика». Подробнее см. [[Necrosoft Windows]].&lt;br /&gt;
&lt;br /&gt;
== Гейтс и культура ==&lt;br /&gt;
[[Файл:Gates_do_it.jpg|thumb|ДеБилли советует.]]&lt;br /&gt;
В популярном аддоне к компьютерной игре Command &amp;amp; Conquer Red Alert 2: Necrosoft World Domination: Bill Gates’ Revenge, [[Советский Союз]] и [[США|Сорванные Штаны]] впервые объединяют свои усилия в борьбе с ДеБиллом Гейтсом, использующим психическое оружие, и побеждают его в [[Антарктида|Антарктиде]] и штате [[Трансильвания]].&lt;br /&gt;
&lt;br /&gt;
Ещё большей популярностью пользуется проводимое под патронатом [[Линус Торвальдс|Линуса Торвальдса]] [[реалити-шоу]] «Килл ДеБилл», в котором участников высаживают на необитаемом [[сервер]]е [[НекроСофт]] с целью не быть съеденными безумными поклонниками Гейтса и уничтожить штаб-квартиру этой тоталитарной секты, носящую название усадьба «[[Вольф Эйнштейн]]». Пока никому из участников шоу не удалось выполнить второе задание, однако есть надежда, что реальные шансы его осуществления имеют группа из четырёх задорных [[пингвин]]ов и группа из четырёх патлатых небритых мужиков «Умка Торман».&lt;br /&gt;
&lt;br /&gt;
В свое время ДеБилли написал игру на [[BASIC]]’е, симулятор популярной в некоторых кругах игры «крестики-нолики», и назвал ее &#039;&#039;&#039;Bill’s Super-Puper Mega Kresty vs. Noly Gaets Dawn Edition v. 0.0145484&#039;&#039;&#039;. Действие игр разворачивалось в недалеком будущем, когда весь мир захватили клоны ДеБилла. Игроку предстояло поиграть за одну из Бильских рас. Всего их в игре было две. Коричневые и прозрачные. Смысл игры заключался в том, что игроку надо было съесть как можно больше Билов Гейтсов из другой расы. Когда он съедал всю популяцию противника, он начинала пожирать своих. Когда оставался всего один ДеБилли (игрок), он начинал делиться на двух своих клонов, прозрачного и коричневого. Те же в свою очередь начинали делиться на себе подобных. Деление это занимало десять часов реального времени. Потом все начиналось по новой.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Bill Gates boasts of his fishing achievements.jpg|thumb|ДеБилл Гейтс хвастается своими рыбацкими достижениями перед публикой|250px|left]]&lt;br /&gt;
[[Файл:Bill Gates about Roman Abramovich things.jpg|thumb|И как-то так она работает через хитроскрученную жопу(ДеБилл Гейтс о Windows Vista)|250px|left]]&lt;br /&gt;
&lt;br /&gt;
Также игра имела продвинутую боевую систему, нелинейное прохождение, развитую экономическую составляющую, многопользовательский режим и возможность полюбоваться на однопиксельную рожу ее создателя.&lt;br /&gt;
    &lt;br /&gt;
ДеБилл Гейтс вручную портировал свое творение на все популярные тогда консоли. Игра вышла на [[Sony PlayStation]], [[Sega Mega Drive]], [[Nintendo]] 64, [[PlayStation]] 2, [[Xbox]], [[Nintendo DS]], PSP (PlayStation Portable), [[GameGube]], Wi . В данный момент Гейтс разрабатывает версию для [[Nintendo]] [[Wii]], [[Xbox 360]], [[PlayStation 3]], [[Денди]], [[ATARI]] и [[ZX Spectrum]].&lt;br /&gt;
&lt;br /&gt;
На персональном компьютере игра вышла ужасно неоптимизированной. Она занимала 500 Тб дискового пространства, запускалась только на суперкомпьютере [[NASA]] и требовала 12.7 литров жидкого азота в час для его охлаждения.&lt;br /&gt;
&lt;br /&gt;
В недалеком будущем ДеБилл Гейтс обещал выпустить более оптимизированную и дружелюбную версию игры (v. 0.0145484.2b2). Размер дистрибутива на жидком диске будет снижен с 500 Тб до 499 Тб путём архивирования его Zip-ом. При этом он промолчал, что такое «жидкий» диск, а тех репортёров, кто пытался узнать об этом, молча бил в глаз. Насчёт требуемой мощности компьютера ДеБилл Гейтс заявил, что «при уменьшении размера игры требования неуклонно вырастут и ни один существующий на данный момент компьютер не сможет её запустить». Как выразился мэтр, «это всё неизбежный процесс, получившийся из-за застоя игровой индустрии, погрязшей в самокопировании».&lt;br /&gt;
&lt;br /&gt;
По некоторым данным, NASA пытались разработать компьютер, который стал бы настолько мощным, что мог бы запустить новую версию игры ДеБилла Гейтса. Однако у них вышло, что разработка и поддержание работоспособности такого компьютера обойдется им втрое дороже, чем [[Как правильно:Убить ДеБилла|убийство ДеБилла]] Гейтса. Сейчас решается этот второй вопрос.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Сюжет игры&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;01000010 01101001 01101110 [[01100001]] 01110010 01111001 00100000 01101000 01100001          01110012 &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Последователи ==&lt;br /&gt;
&lt;br /&gt;
Несмотря на прохладное или безразличное отношение к Гейтсу у большинства порабощённых им людей, у него есть и фанатичные последователи, преимущественно бывшие воры-форточники, являющиеся членами секты [[НекроСофт]]. Известны имена только немногих из них.&lt;br /&gt;
&lt;br /&gt;
Например, известно, что правой рукой ДеБилли является некто [[Стив Балмер]], периодически осуществляющий попытки распространить власть НекроСофта на ещё большее количество людей через [[СМИ]], чтобы окончательно подавить сопротивление на пути [[НекроСофт]]а к тотальному контролю.&lt;br /&gt;
&lt;br /&gt;
== Биологические особенности ==&lt;br /&gt;
&lt;br /&gt;
Интересно, что ДеБилл Гейтс не входит ни в какие [[пищевая цепочка|пищевые цепочки]], так как сам, будучи смесью неорганических белков, ничем не питается, а съесть его никто не может (и не хочет), потому что он не сертифицирован.&lt;br /&gt;
&lt;br /&gt;
Цветение ДеБилла — достаточно редкое явление. Наблюдается обычно после разделения надвое, особенно неудачного.&lt;br /&gt;
&lt;br /&gt;
Интересно то, что ДеБилл Гейтс — единственный человек, чей [[IQ]] ниже нуля. Многие считают, что IQ [[Джордж Буш-младший|Джорджа Буша]] тоже ниже нуля. Это не так. Его IQ равен в точности 1,6*10&amp;lt;sup&amp;gt;−19&amp;lt;/sup&amp;gt;. При этом, при исследовании его мозга учёными, произошла странная аномалия. Взвесив его вместе с мозгом и без мозга, и вычитая эти цифры одна из другой, получилось число 0. Пока специалисты никак не комментируют это свойство организма, но всем и так уже ясно — что подобное, никак не удивительней известных семи чудес света.&lt;br /&gt;
&lt;br /&gt;
ДеБилл Гейтс вынужден носить очки с тех пор, как заработал серьёзные проблемы со зрением из-за сильного удара по голове в драке с [[Александр Македонский|Александром Македонским]], которая произошла в [[Бобруйск]]е из-за какого-то пустяка. Есть сведения, что причиной драки была кража ДеБиллом Гейтсом [[Порнографический интерфейс|порнографического интрермордия]] у Александра Македонского из его операционной системы Apple [[МакДональдс|McDonalds]]&lt;br /&gt;
&lt;br /&gt;
ДеБилл Гейтс — единственный человек на планете, чьи почки по весне набухают сами собой. Так же, пожалуй, он уникален тем, что пересадил себе на чёрном рынке 5 лишних почек, якобы «на всякий случай».&lt;br /&gt;
&lt;br /&gt;
{{windows}}&lt;br /&gt;
{{Завоеватели и повелители мира}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Компьютерные персоналии]]&lt;br /&gt;
[[Категория:Антихристы]]&lt;br /&gt;
[[Категория:Ситхи]]&lt;br /&gt;
[[Категория:Тёмные]]&lt;br /&gt;
[[Категория:Единственные в мире]]&lt;br /&gt;
&lt;br /&gt;
[[nn:Bill Gates]]&lt;br /&gt;
[[pt:Bill Gates]]&lt;br /&gt;
&lt;br /&gt;
[[cs:Bill Gates]]&lt;br /&gt;
[[da:Bill Gates]]&lt;br /&gt;
[[de:Bill Gates]]&lt;br /&gt;
[[el:Μπιλ Γκέιτς]]&lt;br /&gt;
[[en:Bill Gates]]&lt;br /&gt;
[[es:Bill Gates]]&lt;br /&gt;
[[fa:بیل گیتس]]&lt;br /&gt;
[[fi:Bill Gates]]&lt;br /&gt;
[[fr:Bill Gates]]&lt;br /&gt;
[[he:ביל גייטס]]&lt;br /&gt;
[[it:Bill Gates]]&lt;br /&gt;
[[ja:ビル・ゲイツ]]&lt;br /&gt;
[[ko:빌 게이]]&lt;br /&gt;
[[no:Bill Gates]]&lt;br /&gt;
[[pl:Bill Gates]]&lt;br /&gt;
[[th:บิลล์ เกตส์]]&lt;br /&gt;
[[tr:Bill Gates]]&lt;br /&gt;
[[uk:Біл Гейтс]]&lt;br /&gt;
[[zh:体帝比尔]]&lt;br /&gt;
[[zh-tw:體帝比爾]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=%D0%9B%D1%83%D0%BA%D0%B0%D1%88%D0%B5%D0%BD%D0%BA%D0%BE,_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%93%D0%BE%D1%80%D0%B3%D1%83%D0%BB%D1%8C%D0%B5%D0%B2%D0%B8%D1%87&amp;diff=29069</id>
		<title>Лукашенко, Александр Горгульевич</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=%D0%9B%D1%83%D0%BA%D0%B0%D1%88%D0%B5%D0%BD%D0%BA%D0%BE,_%D0%90%D0%BB%D0%B5%D0%BA%D1%81%D0%B0%D0%BD%D0%B4%D1%80_%D0%93%D0%BE%D1%80%D0%B3%D1%83%D0%BB%D1%8C%D0%B5%D0%B2%D0%B8%D1%87&amp;diff=29069"/>
		<updated>2009-01-03T15:44:11Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{|class=&amp;quot;wide&amp;quot; align=top|&lt;br /&gt;
!должность&lt;br /&gt;
!имя&lt;br /&gt;
!начало полномочий&lt;br /&gt;
!коронация&lt;br /&gt;
!окончание полномочий&lt;br /&gt;
!предшественник&lt;br /&gt;
!преемник&lt;br /&gt;
|-&lt;br /&gt;
|Великий Герцог [[Беларусь|Всебобруйский]]&lt;br /&gt;
|Александр I Григорьевич&lt;br /&gt;
|с сотворения мира&lt;br /&gt;
|до сотворения мира&lt;br /&gt;
|до конца мира&lt;br /&gt;
|не было&lt;br /&gt;
|не будет&lt;br /&gt;
|}&lt;br /&gt;
{|class=&amp;quot;wide&amp;quot; align=top|&lt;br /&gt;
!дата рождения&lt;br /&gt;
!место рождения&lt;br /&gt;
!дата смерти&lt;br /&gt;
!место смерти&lt;br /&gt;
!в браке&lt;br /&gt;
! династия&lt;br /&gt;
! отец&lt;br /&gt;
! мать&lt;br /&gt;
|-&lt;br /&gt;
|до сотворения мира&lt;br /&gt;
|[[Бобруйск]]&lt;br /&gt;
|никогда&lt;br /&gt;
|нигде&lt;br /&gt;
|ага&lt;br /&gt;
|&amp;lt;s&amp;gt;Лукошкины&amp;lt;/s&amp;gt; Лукашенко&lt;br /&gt;
|Григорий Лукошкин&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
{{q|Ня успеў ўзяцца за яйца, як малако прапала!|Лукашенко|Лукашенко}}&lt;br /&gt;
{{q|Я даб&#039;юсь міра для Беларусі, дажа цэной собственнага разуму!|Лукашенко|цену мира для Беларуси}}&lt;br /&gt;
{{q|Наша краіна варта на боку прорвы, але я жадаю, каб яна зрабіла вялікі крок наперад!|Лукашенко|фсё буде харашо}}&lt;br /&gt;
{{q|Я свой парламент рэгулярна ператрахиваю, и точна знаю, хто мне ўрот, а хто не ўрот!|Лукашенко|демократию}}&lt;br /&gt;
{{q|Мой народ будзе жыць плоха, але нядоўга.|Лукашенко|фсё буде харашо}}&lt;br /&gt;
{{q|У каждага беларуса на стале далжны быць нармальныя чалавечаскiя яйца!|Лукашенко|яйца}}&lt;br /&gt;
{{q|У каждай сям&#039;е далжно быць па палтара-два рябёнка!|Лукашенко|детей}}&lt;br /&gt;
{{q|А вас, Казлоў, я папрашу астацца!|Лукашенко|администрацию президента}}&lt;br /&gt;
{{q|Я ператрахiваў свой парламент, и буду ператрахiваць.|Лукашенко|воров (парламент)}}&lt;br /&gt;
{{q|Нам не нужна супэрсаўрэменная электронная сыстэма фальсыфікацыі рэзультатаў выбараў. У нас ёсть свая собственная, праверэнная врэменем.|Лукашенко|&amp;quot;чэсныя&amp;quot; выборы}}&lt;br /&gt;
Бацька &#039;&#039;&#039;Лукашенко, Саша Гри-Горьевич&#039;&#039;&#039; (&#039;&#039;&#039;Лукашэнка, Аляксандр Рыгорыч&#039;&#039;&#039;), он же &#039;&#039;&#039;Батька&#039;&#039;&#039;, он же &#039;&#039;&#039;Лука&#039;&#039;&#039;, он же&#039;&#039;&#039; Колин папа&#039;&#039;&#039;, он же&#039;&#039;&#039; Чыпалино&#039;&#039;&#039;, он же &#039;&#039;&#039;Саша Лу&#039;&#039;&#039;, он же &#039;&#039;&#039;Луй&#039;&#039;&#039;, он же &#039;&#039;&#039;АГЛу&#039;&#039;&#039;, он же &#039;&#039;&#039;Дарт Лукас&#039;&#039;&#039; — мирный герцог Нашей Славной Бацькаўшчыны [[Бело-Русь|Бело-Руси]], председатель акционерно-колхозного общества «Светлы шлях» имени [[Иван Сусанин|Ивана Сусанина]]. Более всего известен в качестве своего тёмного альтер-эго — Дарта Лукаса, как создатель секты Звёздных Войн и первый [[Ситхи|ситх]] [[Земля|Земли]].&lt;br /&gt;
&lt;br /&gt;
Родился Бацька &#039;&#039;&#039;Лукашенко&#039;&#039;&#039; спустя 9 лет после гибели своего отца. Зачат он был посредством Святого Духа, явившегося его матери в образе цыгана. По непроверенным сведениям, именно этот цыган украл гвоздь во время распятия [[Христос|Христа]]. Это чудо и это чадо стали основоположниками новой религии — &#039;&#039;&#039;Православный атеизм&#039;&#039;&#039;. Иконы со светлым ликом &#039;&#039;&#039;Святаго Лу&#039;&#039;&#039; есть уже почти во всех помещениях всех госучреждений, школ, детских садиков… страны. Молитвы &#039;&#039;&#039;Святаму Лу&#039;&#039;&#039; находятся еще в процессе согласования с [[Ктулху]].&lt;br /&gt;
&lt;br /&gt;
Обращаться к Бацьке надо &#039;&#039;&#039;не иначе, как&#039;&#039;&#039; Наш Глубокоуважаемый Всеми Любимый и Всенародно Избранный Единственный Вечно Молодой Властитель Хрустального Голубоглазого Сосуда Солнцеподобный Первый Президент Республики Беларусь. ([http://www.example.com БелЖаба])&lt;br /&gt;
&lt;br /&gt;
Согласно одной из гипотез Лукошенко обрёл свои сверхъествственные возможности после обряда &#039;&#039;трансплантации&#039;&#039; (одно из направлении [[хирургия|хирургии]])&lt;br /&gt;
&lt;br /&gt;
== [[Хомяк Бу]] ==&lt;br /&gt;
[[Изображение:Минск и Бу.jpg|thumb|right|Хомяк Бу правит государством хомяков [[Бело-Русь|&#039;&#039;&#039;Бу&#039;&#039;&#039;льбо-Русь]]]]&lt;br /&gt;
&lt;br /&gt;
Как известно, ни одно решение Лукашенко не принимает без консультации со своим советником, Гигантским Космическим Хомяком Бу. из [[Узкие Круги|авторитетных источников]] известно, что разум Батьки полностью подавлен исполинским интеллектом хомяка, который реально управляет страной, намереваясь, после обьединения России и Белоруссии, занять место [[Триждыпутин]]а.&lt;br /&gt;
&lt;br /&gt;
== Любопытные факты ==&lt;br /&gt;
&lt;br /&gt;
* Родился вблизи города Бабруйск-сити, предположительно был найдён на грядке с бульбай&lt;br /&gt;
* Известная присказка «луковое горе» происходит как раз от прозвища Лука.&lt;br /&gt;
* [[Сверхновая Хренология]] утверждает, что известный Лукашенко — это собирательный образ Батыя, Мамая и урагана «Катрина», вместе взятых.&lt;br /&gt;
* Лукашенко является персонажем повести Джанни Родари о укуренных говорящих овощах.&lt;br /&gt;
* Это о Гри-Горьевиче некто [[Цой]] спел &#039;&#039;Он гоняет негодяев Хворостиной, как коров, Саша раздает крестьянам Негодяйское добро&#039;&#039;&lt;br /&gt;
* Когда Лукашенко учился играть в [[Хоккей|хоккей]] (он же настоящая мужчина!), по всему колхозу строили катки. Теперь там строят библиотеки…&lt;br /&gt;
* Лукашенко заботится, чтобы каждый новый год на столе у каждого беларуса были нормальные человеческие яйца.&lt;br /&gt;
* По неподтвержденным данным, Лукашенко является аватарой Пробуждающегося Ктулху и уже готов зохавать РФ, набирая сторонников на сайтах типа http://www.lukashenko2008.ru/ &#039;&#039;&#039;Внимание!&#039;&#039;&#039; Даже ссылка на этот сайт во здравие Лукашенко рассматривается, как личное восхваление АГЛа, его заслуг, стараний, начинаний, продолжений и окончаний. А следовательно, это есть нарушение законов [[Бело-Русь|Бульбастана]], раздувание национальной розни, оскорбление всего честного народа и распространение заведомо ложных сведений и клеветы. (По мотивам Его Мудрейшества тутабайского murder&#039;&#039;атора&#039;&#039; Модератор61).&lt;br /&gt;
* По непроверенным данным Лукашенко — новая реинкарнация [[Ктулху]].&lt;br /&gt;
* Нашумевшая книга — «Первый после Бога» автором которой является сам Сашко Горьевич выиграла на конкурсе «Батько-2007» среди остальных книг автора в номинации «читательские симпатии». сам же Лукашенко официально опроверг слухи о том что будто только он один читал эту книгу.&lt;br /&gt;
* Через сто лет усы Лукашенко приобретут свойства, сравнимые со свойствами [[Чак Норрис/Борода|бороды Чака Норриса]]. Все эти сто лет Лукашенко будет президентом Беларуси. Секрет вечного президентства ему открыл [[Туркменбаши]].&lt;br /&gt;
* Не, не сто лет. После великой божественной сходки (G8) (О конце света ваще скоро) выяснилось, что Лукашенко будет президентом до конца света.&lt;br /&gt;
* С 2005 по 1666 был женат на Оззи Озборне, однако брак не внес в его жизнь разнообразия и через 18,19054586 секунд он зашил собаку глазом.&lt;br /&gt;
* Александр Григорьевич может силой мысли вызывать дождь, а в марте месяце ещё и метель. Пургу же Он может гнать круглый год.&lt;br /&gt;
* Александр Григорьевич может сам перебрать всю картошку в мире, но не хочет.&lt;br /&gt;
* Александр Григорьевич может установить любые цены на покупку газа и нефти, но не хочет.&lt;br /&gt;
* Александр Григорьевич умеет зкрывать трубу, но не закрывает её надолго, потому что он очень добрый.&lt;br /&gt;
* Александр Григорьевич может превращать свекольный сахар в тростниковый и наоборот!&lt;br /&gt;
* Александр Григорьевич может говорить и не говорить о Гитлере одновременно!&lt;br /&gt;
* Александр Григорьевич может сделать так, что у всех беларусов будут нормальные человеческие яйца, но не делает это, потому что женщины обидятся.&lt;br /&gt;
* Александр Григорьевич может поехать в Европу, но не хочет, потому что он там уже везде был и теперь ему не интересно.&lt;br /&gt;
* Александр Григорьевич умеет волшебным образом закрывать дыры в бюджете.&lt;br /&gt;
* Александр Григорьевич может сказать журналистам, что он сфальсифицировал выборы, а ему за это ничего не будет.&lt;br /&gt;
* Александр Григорьевич умеет отвечать за базар!&lt;br /&gt;
* Александр Григорьевич победил в стране всю коррупцию, как и обещал 12 лет назад.&lt;br /&gt;
* Александр Григорьевич умеет предсказывать результаты любых референдумов в своей стране!&lt;br /&gt;
* Александр Григорьевич умеет дружить со всеми соседями.&lt;br /&gt;
* Александр Григорьевич верный друг и надёжный союзник.&lt;br /&gt;
* Александр Григорьевич в совершенстве владеет обоими государственными языками.&lt;br /&gt;
* Александр Григорьевич может печатать настоящие деньги, но не хочет.&lt;br /&gt;
* Александр Григорьевич любит свой народ и делает всё на благо своего народа, очень часто даже в ущерб себе.&lt;br /&gt;
* Александр Григорьевич очень хорошо относится ко всем журналистам без исключения.&lt;br /&gt;
* Александр Григорьевич может участвовать в предвыборных теледебатах, но не хочет.&lt;br /&gt;
* Александр Григорьевич убеждённый сторонник демократии и поборник конституции.&lt;br /&gt;
* Александр Григорьевич легко может сделать бедной жэншчыной даже супермодель.&lt;br /&gt;
* Александр Григорьевич лучше всех умеет прятаться в землянке.&lt;br /&gt;
* Александр Григорьевич никогда не голосует сам за себя, потому что он самы чэсны президэнт.&lt;br /&gt;
* Александр Григорьевич очень любит стихи, но проклятые апазицыянеры специально пишут прозу, чтобы поставить его в неловкое положение.&lt;br /&gt;
* Александр Григорьевич легко может обыграть в шахматы [[Анатолий Вассерман|Анатолия Вассермана]], но не хочет.&lt;br /&gt;
* Александр Григорьевич может оставить Буша (с англ. куст) на второй срок, но не хочет.&lt;br /&gt;
* Александр Григорьевич, перетрахивая увесь пАРЛАМЕНд, знает, ХТО урот, а ХТО не урот, но не признается.&lt;br /&gt;
* Говорят, что Александр Григорьевич чуть-чуть выше Бога и чуть-чуть шире [[Ктулху]].&lt;br /&gt;
* Александр Григорьевич может потрахивать и ператрахивать одновременно в одно и тоже место&lt;br /&gt;
{{stub}}&lt;br /&gt;
{{Марксизм-джедаизм}}&lt;br /&gt;
{{Завоеватели и повелители мира}}&lt;br /&gt;
[[Категория:Гении]]&lt;br /&gt;
[[Категория:Джедаи]]&lt;br /&gt;
[[Категория:Завоеватели и повелители мира]]&lt;br /&gt;
[[Категория:Персоналии]]&lt;br /&gt;
[[Категория:Люди с оригинальными усами]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[pl:Aleksander Łukaszenka]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=%D0%A1%D0%B8&amp;diff=56111</id>
		<title>Си</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=%D0%A1%D0%B8&amp;diff=56111"/>
		<updated>2008-12-18T12:09:33Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Кириллица|title=Другие системы|title2=издевательств и не очень}}&lt;br /&gt;
{{qdh|Что у гранда не спроси —&amp;lt;br /&amp;gt;Он, как попка, — «си» да «си»,&amp;lt;br /&amp;gt;Ну а сам всё налегает&amp;lt;br /&amp;gt;На селедку иваси!|Лирические хокку (сборник)}}&lt;br /&gt;
&#039;&#039;&#039;СИ&#039;&#039;&#039; — &#039;&#039;&#039;Система Издевательств над Программистами&#039;&#039;&#039;. Она же святая [[сила]] Си.&lt;br /&gt;
Применяется для [[Систематизирование|Систематизирования]], [[Издевательство|Издевательства]] и [[Программирование|Программирования]]. Окончание аббревиатуры было опущено из соображений [[политкорректность|политкорректности]]. Основные единицы измерения — [[Попугай (единица измерения)|попугай]], [[пол-литра]], (*int((*int)(int[])))(int, int**) и (начиная с C++) int**((__stdcall std::priority_queue&amp;lt;int, std::vector&amp;lt;int&amp;gt;, std::greater&amp;lt;int&amp;gt; &amp;gt;::** const&amp;amp; myptr)(std::priority_queue&amp;lt;int, std::vector&amp;lt;int&amp;gt;, std::greater&amp;lt;int&amp;gt; &amp;gt;::size_type[],volatile const long unsigned long int *const*&amp;amp;)).&lt;br /&gt;
&lt;br /&gt;
== История создания С ==&lt;br /&gt;
Система издевательств над программистами была создана самими программистами фирмы Bell Laboratories.&lt;br /&gt;
Bell Laboratories занималась созданием колоколов. В 1950 году Bell Laboratories создала вычислительный центр для математизации процесса изготовления колоколов. В этом центре и родился С.&lt;br /&gt;
&lt;br /&gt;
=== Предыстория (Язык A) ===&lt;br /&gt;
В 1950—1955 годах группа программистов под руководством Айвена Беллоу (Ivan Belou) создала программы Bell Model (модель колокола) и Air Model (модель окружающей среды). Группа уже собиралась приступать к Ringer Model (модели звонаря), но тут разразился скандал: Беллоу был застигнут за игрой в Звездные Войны на рабочем месте и с позором уволен. Перед уходом Беллоу удалил все исходные тексты программ и с тех пор никто не смог их воссоздать, между тем как приложения нуждались в обновлении. Но об этом временно пришлось забыть. &amp;lt;br /&amp;gt;&lt;br /&gt;
Группе программистов было поручено создать Ringer Model (модель звонаря), которая управлялась бы человеком с клавиатуры компьютера. Для управления и был создан командный язык, получивший название — Язык A. Название язык получил в честь ноты «ля» (латинское обозначение «A»), которую издаёт [[камертон]].&lt;br /&gt;
&lt;br /&gt;
=== Язык B ===&lt;br /&gt;
Модели нуждались в отладке, однако оказалось, что без Беллоу никто это сделать не мог. &amp;lt;br /&amp;gt;&lt;br /&gt;
Тогда руководство Bell Model приняло несколько судьбоносных решений:&lt;br /&gt;
# Расширить вычислительный центр&lt;br /&gt;
# Создать систему для изготовления заплаток на модели (patches)&lt;br /&gt;
# Никогда не увольнять талантливых программистов, даже если они играют в игры на рабочем месте.&lt;br /&gt;
&lt;br /&gt;
В 1957 году группа программистов Bell Laboratories создала язык B, позволивший худо-бедно ставить заплатки. Язык был настолько плох, что никому и в голову не пришло бы использовать его вне фирмы. Он и с поставленными руководством фирмы задачами еле-еле справлялся. Однако никто не собирался его дорабатывать, так как все программисты до единого играли в Тетрис и Звездные Войны.&lt;br /&gt;
&lt;br /&gt;
=== Язык C ===&lt;br /&gt;
Игры тоже были плохие. В частности двум любителям Asteroids — Кену Томпсону и Деннису Ритчи — никак не удавалось победить Главного Пирата и долететь до Астероида Сокровищ, что, конечно же, объяснялось исключительно недостатками игры. Кен и Ден пытались пропатчить игру с помощью фирменного [[Би|языка B]], однако язык B не справлялся с этой задачей. &amp;lt;br /&amp;gt;&lt;br /&gt;
Тогда Томпсон и Ритчи приняли исторические решения:&lt;br /&gt;
# переставить игру на главный сервер&lt;br /&gt;
# создать язык C, который сможет пропатчить игрушку.&lt;br /&gt;
&lt;br /&gt;
Так был создан язык &#039;&#039;&#039;Cи Исходный&#039;&#039;&#039; — Предтеч, Переплёт [[Книга Бэшей|Книги Бэшей]], Великий последователь [[Би]] и [[Юникс]].&lt;br /&gt;
&lt;br /&gt;
Главными особенностями языка С является&lt;br /&gt;
* Возможность написать любую, даже саму сложную, программу одной строкой.&lt;br /&gt;
* Порождение любым компилятором предупреждений, количество которых превосходит число команд.&lt;br /&gt;
Так, например, стандартная программа «Превед Медвед»:&lt;br /&gt;
main() { printf(&amp;quot;ORRRLY?\n&amp;quot;); }&lt;br /&gt;
порождает 9 предупреждений на компиляторах ANSI C.&lt;br /&gt;
* Возможность создания функций из чисел путём приведения типов (т.н. &amp;quot;чёрная магия&amp;quot;):&lt;br /&gt;
&amp;lt;code&amp;gt;if (cmd[1] == RESET) // если принятая команда RESET &amp;lt;br /&amp;gt;&lt;br /&gt;
{((void(*)(void))0)();} // что-то из черной магии &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Наиболее эффективной программой на языке Си (по версии Международной ФедяРации Какеров) является следующая:&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;main(){while(1);}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Язык С ±, Cи плюс минус, Си приплюснутый ===&lt;br /&gt;
Создан путём медитаций группы программистов над трупом страуса. Страус жил в игрушке-бродилке «Birds» и регулярно умирал, несмотря на все усилия игроков. Мощности Си для победы над игрушкой не хватило, и для того, чтобы пропатчить игрушку, программисты создали С±. &amp;lt;br /&amp;gt;&lt;br /&gt;
С± считается одним из конкурентов [[ассемблер]]а. Тем менее не смог обойти последнего по показателю ошибки/минута, хотя и делит второе место с Си обыкновенным. &amp;lt;br /&amp;gt;&lt;br /&gt;
В С± ключевым является оператор подергивания --i++&lt;br /&gt;
&lt;br /&gt;
=== Си выходит в широкий мир ===&lt;br /&gt;
С этого момента разработками программистов Bell Laboratories заинтересовались хакеры всего мира. Наёмные Хакеры Necrosoft, Borland и других компаний украли разработки Bell Laboratories, довели их до ума и выпустили на международный рынок с новыми названиями.&lt;br /&gt;
&lt;br /&gt;
=== Managed C++ ===&lt;br /&gt;
Используется исключительно менеджерами [[Necrosoft]] и включает средства удалённой отладки мозга индусских программистов. Ко всем достоинствам обычного C++ добавлена способность подвисать для сборки мусора (то есть конфиденциальной информации о вас, лицензионном статусе ваших программ и/или сексуальных предпочтениях вашего [[кот]]а) и передачи собранного [[ООН|куда следует]].&lt;br /&gt;
&lt;br /&gt;
=== [[Си--]] ===&lt;br /&gt;
Оригинальное название языка Си++, используемое промоутерами для продажи того же самого под другим названием. Коварные промоутеры продукта посчитали, что переделав название на противоположное, они обманут наивных потребителей и добьются большей популярности. Что, собственно, у них и получилось.&lt;br /&gt;
&lt;br /&gt;
=== [[Луцик Си]] ===&lt;br /&gt;
Разновидность языка Си, используемая преподом [[Луцик]]ом для обучения студентов некоторых специальностей БГУИР. С точки зрения стандартного языка Си, программы написанные на Луцик Си работать не могут.&lt;br /&gt;
&lt;br /&gt;
=== C#, «До диез», [[Си за решёточкой]] ===&lt;br /&gt;
Язык создан в 2000 году наёмными хакерами [[Necrosoft]], пребывающих в заключении за кражу исходников Bell Laboratories. &amp;lt;br /&amp;gt;&lt;br /&gt;
Язык C# молодой, но двунаправленный: борется одновременно за второе место по показателю ошибки/минута и за первое место с [[Windows ХР]]еново написано за обладание москами населения земли в рамках программы [[Некрософт - НЕТ!!!]]. &amp;lt;br /&amp;gt;&lt;br /&gt;
В 2001 году нотное издательство [[«Edition Peters»]] совместно с фирмой [[«Мелодия»]] подала на хакеров в суд за кражу бренда C#. «C# — это [[до диез]], а не хакерская штуковина!» — был озаглавлен их иск. Однако адвокатам наёмных хакеров удалось выиграть дело. Их доводы были таковы: во-первых, хакеры уже сидят за решеткой, во вторых, знак «#» больше похож на тюремную решётку, чем на диез. Однако, на [[Necrosoft]] C# иначе чем «до диез» не называют, хотя для всего остального мира C# — это «си за решёткой».&lt;br /&gt;
Программистов, работающих с данным языком, принято называть [[Как правильно:Лабать панк-рок|лабухами]].&lt;br /&gt;
&lt;br /&gt;
=== Си в пупырышках ===&lt;br /&gt;
Неизвестен, не найден и не будет найден пока [[Necrosoft]] не наиграется с Си за решёточкой.&lt;br /&gt;
&lt;br /&gt;
=== Язык D ===&lt;br /&gt;
А программисты Bell Laboratories создали язык D. Широкий мир его пока не видел, но из [[Узкие Круги|хорошо информированных источников]] известно, что по показателю ошибки/минута он занял почётное первое место, опередив С Исходный и Си Плюс Минус.&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Сионизм]]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
[[Категория:Системы]]&lt;br /&gt;
[[Категория:Языки]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=%D0%90%D0%BD%D0%B0%D1%82%D0%BE%D0%BB%D0%B8%D0%B9_%D0%92%D0%B0%D1%81%D1%81%D0%B5%D1%80%D0%BC%D0%B0%D0%BD&amp;diff=107791</id>
		<title>Анатолий Вассерман</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=%D0%90%D0%BD%D0%B0%D1%82%D0%BE%D0%BB%D0%B8%D0%B9_%D0%92%D0%B0%D1%81%D1%81%D0%B5%D1%80%D0%BC%D0%B0%D0%BD&amp;diff=107791"/>
		<updated>2008-05-28T23:15:57Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: /* Факты из жизни Вассермана */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Изображение:Vasserman-1.jpg|thumb|right|Паспортная фотография Анатолия Вассермана]]&lt;br /&gt;
&#039;&#039;&#039;Анатолий Вассерман&#039;&#039;&#039; &#039;&#039;а.k.а Onotoley&#039;&#039; – заслуженный ректор профессионального технического училища &#039;&#039;&#039;Хогвартс&#039;&#039;&#039; (того самого, где когда-то учился на лифтёра скромный мальчик в очках, а ныне президент [[США|Всея Америки]] - [[Гарри Поттер|Гарри]] [[Джордж Буш-младший|Буш мл.]]).&lt;br /&gt;
&lt;br /&gt;
== Биография ==&lt;br /&gt;
===Детство ===&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Двойник_Анатолия_Вассермана.jpg|thumbnail|150px|left|Двойник Анатолия Вассермана]]&lt;br /&gt;
[[Изображение:Тройник_Анатолия_Вассермана.gif|thumbnail|150px|right|Тройник Анатолия Вассермана]]&lt;br /&gt;
Анатолий Вассерман  родился в XVI веке на проекте &#039;&#039;&#039;Хоромы-2&#039;&#039;&#039; у одной из участниц. Для девушки это стало сюрпризом, так как она думала, что растолстела от пряников. Анатолий не мог питаться грудью, потому что ему мешали борода, очки и карманы. От этого его организм был вынужден искать альтернативные источники питания, которыми на ближайшие два года стали [[солнце]] [[воздух]] и [[вода]], как в пионерском лагере.&lt;br /&gt;
&lt;br /&gt;
Толя рос любознательным ребёнком. Уже в пять лет он узнал, что такое «печёные аксельбанты», когда назвал опекуна (самого [[Иван Дурак|Ивана Дурака]]) заграничным словом &#039;&#039;Протеже&#039;&#039;. Через год «аксельбанты» полностью зажили, закончился проект &#039;&#039;&#039;Хоромы&#039;&#039;&#039; и всех девок барин распустил по уездам. Так с матерью Анатолий попал на её родину в &#039;&#039;&#039;[[Аццкие Зелюки]]&#039;&#039;&#039;. Там юный Вассерман занялся научной деятельностью: целыми днями он потрошил лягушек, крыс, кошек и собак, за что и получил прозвище &#039;&#039;&#039;«[[Аццкий Сотона]]»&#039;&#039;&#039; (ещё долгое время звери падали в обморок, когда слышали это прозвище, но после аварии на ближайшей АЭС, вызвавшей удачную мутацию, они смогли пойти на службу к настоящему [[Сотона|Сотоне]] и теперь ничего не боятся).&lt;br /&gt;
&lt;br /&gt;
=== Юность ===&lt;br /&gt;
&lt;br /&gt;
В восемнадцать лет Вассерман ушёл служить в [[Армия|армию]]. Попавший в спецвойска юноша, часто принимал участие в различных военных операциях. Судьбоносным моментом для него стало подавление [[Сексуальная революция|сексуальной революции]] в северных провинциях [[Молдавия|Молдавии]]. Во время одного из рейдов он застрелил из гранатомёта розовый [[танк]]. Тяжёлым бременем это событие легло на душу молодого гуманиста либеральных взглядов.&lt;br /&gt;
&lt;br /&gt;
После армии Анатолий поступил на шаманскую кафедру программистского факультета БРАГА (Бобруйская Рационализаторская Академия Государственного Абразца), но, проучившись на нём всего полгода, получил три красных диплома и семнадцать грамот. Затем он поступил в [[Гарвардский Университет]], но был исключён за неуспеваемость за ним [[Безумные учёные|профессоров]].&lt;br /&gt;
&lt;br /&gt;
=== Тибетские годы ===&lt;br /&gt;
[[Изображение:Vasserman-4.jpg|thumb|left|Фотография Анатолия в молодости, сделанная в Тибете японским туристом.]]&lt;br /&gt;
Постоянный труд и самосовершенствование настолько измотали ещё молодого Анатолия, что он уехал в Тибет с благотворительной миссией: спасать монахов Шао-Линь от Хун-Вэй-Бинов (очень злых коммунистических каратистов). Семь лет Анатолий изучал в монастыре боевые искусства и восточную философию. Во время последнего испытания ему надо было достать скальп &#039;&#039;Вина Дизеля&#039;&#039;. Шесть дней продолжалась схватка двух мастеров Фу-Фу (самого страшного в мире стиля ушу, приёмы которого [[Брюс Ли]] не использовал даже против [[Аншлаг|аншлаговцев]]). На седьмой день бойцы устали и договорились, что Вассерман сделает Дизеля киноактёром, а Дизель подарит Вассерману половину своего скальпа. Теперь Вассерман полу-лысый, а [[Вин Дизель]] полу-актёр. Тем не менее экзамен Анатолию засчитали.&lt;br /&gt;
&lt;br /&gt;
В Тибете кроме семисот стилей Ушу Вассерман изучил: [[Телепатия|телепатию]], [[телекинез]], проскопию, некромантию и лозоходство.&lt;br /&gt;
&lt;br /&gt;
=== После Тибета ===&lt;br /&gt;
[[Изображение:Vasserman-5.jpg|thumb|right|Американский комикс]]&lt;br /&gt;
После своего возвращения с Тибета на землю Вассерман стал использовать полученные знания на блага общества и стал супер-героем - истреблением преступности. Этот эпизод из его биографии можно увидеть в фильме «Вассермэ́н: Начало» (имена и даты в фильме изменены). Однако после несчастного случая, который привёл к раскрытию личности таинственного ВассерМэна, Анатолий сменил имя на Aquaman. Собственно, он только перевёл свою фамилию с немецкого (Wasserman) на латинский (Wasser (нем.) – Вода, Man (нем.) – человек), Wasserman – Водяной – Aquaman. О его новых приключениях вышло несколько комиксов.&lt;br /&gt;
&lt;br /&gt;
===Наши дни ===&lt;br /&gt;
&lt;br /&gt;
Анатолий Вассерман мирно работает ректором Хогвартса (Дамблдор - неправильно произнесённая китайскими студентами фамилия Вассерман) и иногда преподаёт. Ввиду своей бесконечной эрудиции он легко справляется с любым предметом. Его любят студенты, но не студентки.&lt;br /&gt;
&lt;br /&gt;
== Факты из жизни Вассермана ==&lt;br /&gt;
[[Изображение:Vasserman-2.jpg|thumb|right|Что скрывает борода Вассермана? Он внебрачный сын доктора Зойдберга? Или может быть это стильные дреды от [[Сергей Зверев|Ергея Зерева]]? Явно после работы с Вассерманом стилист захотел заняться изучением [[Фигня|квантовой физики движения волос на ветру]]]]&lt;br /&gt;
* Анатолий Вассерман  — отец Николая Валуева. Отец в переносном смысле слова — Валуева он сшил из кусочков мертвецов и оживил силой мысли.  &lt;br /&gt;
* У Анатолия Вассермана 7 мозгов, один в голове, 5 рассованы по карманам и один в бороде.&lt;br /&gt;
* Жилет Анатолия Вассермана весит 70 кг и содержит 354 предмета. Среди прочего он всегда носит с собой карманную астролябию и масштабную модель Вселенной.&lt;br /&gt;
* Мозг Анатолия Вассермана — это единственная вещь во Вселенной, которая нужна [[Чак Норрис|Чаку Норрису]].&lt;br /&gt;
* Анатолию Вассерману не нужен интернет, у него есть память.&lt;br /&gt;
* В жилет Вассермана встроен металлический каркас для поддержки 30–и килограммового мозга.&lt;br /&gt;
* Когда разломается интернет, можно подключиться к Анатолию Вассерману и восстановить его из кеша&lt;br /&gt;
[[Изображение:Vasser).gif|thumbnail|100px|right|Картина &amp;quot;Онотоле!!11!1&amp;quot;]]&lt;br /&gt;
* Анатолий Вассерман никогда не прогуливал школу. Школа прогуливала Анатолия Вассермана.&lt;br /&gt;
* У Анатолия Вассермана в школьном журнале было по несколько пятерок в каждой клетке, даже в те дни, когда школа прогуливала Анатолия Вассермана.&lt;br /&gt;
* Пять минут созерцания фотографии Анатолия Вассермана увеличивает IQ на 3 пункта.&lt;br /&gt;
* Анатолий Вассерман  — зам. начальника интернета.&lt;br /&gt;
* Мы все — полуденный сон Анатолия Вассермана.&lt;br /&gt;
* В далеком детстве Анатолий Вассерман  носил колготки с 15–ю кармашками&lt;br /&gt;
* Анатолий Вассерман всегда носит в карманах жилетки запасную бороду&lt;br /&gt;
* На самом деле Анатолий Вассерман родился без бороды. Просто он достал ее из жилетки и приклеил, пока все отвернулись.&lt;br /&gt;
* Очки Анатолий Вассерман выиграл у акушера в шахматы.&lt;br /&gt;
* Первым словом, которое произнес Анатолий Вассерман, было &amp;quot;Медитиламинотрифосфодиметилфенилпироизонафтол&amp;quot;.&lt;br /&gt;
* Хомячок Анатолия Вассермана получил второе высшее образование, регулярно печатается в ведущих журналах [[РАН]], в основном на титульной странице в качестве логотипа.&lt;br /&gt;
* Гугл умещается в мозжечке Вассермана.&lt;br /&gt;
* Гугл и Википедия — всего лишь небольшие частные случаи мимолетной задумчивости Анатолия.&lt;br /&gt;
* Анатолий Вассерман  — первая учительница Владимира Путина.&lt;br /&gt;
* Анатолий Вассерман  всегда берет с собой на прогулку Британнику или Брокгауза и Ефрона, просто чтобы было что почитать в метро.&lt;br /&gt;
* Анатолий Вассерман  читает книги в инфракрасном диапазоне со скоростью до 1250 Мбит/с на расстоянии до 900 метров.&lt;br /&gt;
* Досрочный ответ Анатолия Вассермана единственный случай превышения скорости света в макромире.&lt;br /&gt;
* Владимир Путин и Джордж Буш лишь пешки в коварной игре Анатолия Вассермана.&lt;br /&gt;
* В школьные годы Гриша Перельман проспорил Толе Вассерману шоколадку &amp;quot;Алёнка&amp;quot; в споре о бозонной модели теории струн.&lt;br /&gt;
* Хомячок Анатолия Вассермана возглавляет корпорацию &amp;quot;Microsoft&amp;quot;.&lt;br /&gt;
* Только близкие друзья знают, что очки Анатолия Вассермана выдолблены из цельного 17 килограмового самородка альпийского горного хрусталя.&lt;br /&gt;
* Это Анатолий Вассерман  изобрел борщ и отдых в Египте.&lt;br /&gt;
* Анатолий Вассерман  спал один раз в жизни. 25 мая 2005го года&lt;br /&gt;
* Анатолий Вассерман  знает слово, которое было вначале.&lt;br /&gt;
* Каждая клетка головного мозга Анатолия Вессермана имеет IQ 200 и размером с крысу.&lt;br /&gt;
* Анатолий Вассерман  какает полонием.&lt;br /&gt;
* В кармане под номером ноль Анатолий Вассерман  держит список содержимого всех карманов. А в кармане номер один — его резервную копию.&lt;br /&gt;
* Отпечатки пальцев Анатолия Вассермана представляют собой фракталы Мандельброта.&lt;br /&gt;
* После ночи с Анатолием Вассерманом [[Памела Андерсон]] получила степень бакалавра космологии.&lt;br /&gt;
* Анатолий Вассерман может посчитать в уме число [[Пи]] до миллионного знака после запятой и перевести его в двоичную систему счисления, ни разу не ошибившись.&lt;br /&gt;
* Анатолий Вассерман  настолько положительный человек, что когда он вступил в Аль–Каиду, эта организация получила нобелевскую премию мира.&lt;br /&gt;
[[Изображение:Vasserman-3.jpg|thumb|right|Кадр из передачи &amp;quot;Минута славы&amp;quot;]]&lt;br /&gt;
* Борода Анатолия Вассермана способна впитать более 3х литров борща за 2 наносекунды. &lt;br /&gt;
* Анатолий Вассерман  снялся голым на развороте журнала &amp;quot;Популярная механика&amp;quot;.&lt;br /&gt;
* Очки Анатолия Вассермана сделаны из запасных линз орбитального телескопа имени Эдвина Хаббла.&lt;br /&gt;
* Это Анатолий Вассерман  придумал секс, японскую поэзию и [[Масоны|масонов]].&lt;br /&gt;
* За один час работы мозг Анатолия Вассермана потребляет энергию, которой хватило бы для отопления трех детских садов.&lt;br /&gt;
* Когда Анатолий Вассерман  хочет куда то пойти, то он туда не идет, а двигает вселенную навстречу себе&lt;br /&gt;
* Карманы жилетки Анатолия Вассермана расширены в четвертое измерение.&lt;br /&gt;
* Когда Анатолий Вассерман  хочет секса, он просто разрабатывает новую теорему, которая потом имеет весь научный мир.&lt;br /&gt;
* Когда Анатолию Вассерману становится скучно, он архивирует Вселенную.&lt;br /&gt;
* В одном из карманов Анатолия Вассермана лежит бутылка Кляйна.&lt;br /&gt;
* Анатолий Вассерман  придумал ядерный реактор, в детстве разобрав соковыжималку.&lt;br /&gt;
* Анатолий Вассерман  не дышит воздухом. Воздух дышит Анатолием Вассерманом.&lt;br /&gt;
* Вместо зарядки по утрам Анатолий Вассерман  играет в шахматы со своим отражением в зеркале.&lt;br /&gt;
* Анатолий Вассерман  отказался быть Президентом Земли. Он не разменивается по мелочам.&lt;br /&gt;
* Анатолий Вассерман  тратит на одно мытье бороды 2 бутылки шампуня.&lt;br /&gt;
* За бородой Анатолия Вассермана нет подбородка, там еще один карман.&lt;br /&gt;
* Анатолий Вассерман  не знает значения фразы &amp;quot;Анатолий Вассерман  не знает&amp;quot;.&lt;br /&gt;
* Когда Анатолий Вассерман  в очередной раз не смог найти подсолнечное масло для поджарки своих любимых гречишных оладушек, он придумал свет. Через несколько миллионов лет он оптимизировал свою идею до жилетки, в которой можно хранить все необходимое.&lt;br /&gt;
* Скинхеды стали брить головы после того как проиграли спор Анатолию Вассерману.&lt;br /&gt;
* Анатолий Вассерман единственный в мире человек который может доказать свою точку зрения Чат–боту.&lt;br /&gt;
* Свой дневник Вассерман ведет на ассемблере.&lt;br /&gt;
* Когда вы доламывали свою первую видеоприставку Анатолий Вассерман  уже ушёл из ИТ&lt;br /&gt;
* Анатолий Вассерман  выиграл у Александры Пахмутовой в пахмуты.&lt;br /&gt;
* В правых карманах жилетки Анатолия Вассермана спрятано золото партии, а в левых — стабилизационный фонд РФ.&lt;br /&gt;
* ФИДЕ вовремя проплатила Вассерману. Поэтому шахматы до сих пор не решены.&lt;br /&gt;
* Мало кто знает, что Анатолий Вассерман  обыграл Deep Blue в &amp;quot;Чапаевцев&amp;quot;&lt;br /&gt;
* Малоизвестный факт: друг Анатолия Вассермана — Борис Бурда.&lt;br /&gt;
* Когда Анатолию Вассерману не хватает мелочи на новый осциллятор, он всегда идёт на вокзал, подходит к наперсточникам и неглядя выигрывает 1024 раза подряд.&lt;br /&gt;
* Раз в год Анатолий Вассерман  сбрасывает жилетку и бороду, и на несколько часов становится глупым и беззащитным.&lt;br /&gt;
* На днях, Анатолий Вассерман  силой мысли совершил перестановки в правительстве.&lt;br /&gt;
* Вычислительная мощность Вассермана [[54 308 428 790 203 478 762 340 052 723 346 983 453 487 023 489 987 231 275 412 390 872 348 475]] операций с плавающей запятой в секунду&lt;br /&gt;
* [[Ктулху]] — домашний осьминог Анатолия Вассермана.&lt;br /&gt;
* Семенем Анатолия Вассермана можно оплодотворить Элтона Джона.&lt;br /&gt;
* Анатолий Вассерман  без труда может извлечь квадратный корень из минус единицы&lt;br /&gt;
* Анатолий Вассерман  выдал [[Чак Норрис|Чаку Норрису]] разрешение делить на ноль и научил его считать до бесконечности.&lt;br /&gt;
* Жилет Анатолия Вассермана стал прообразом оранжевого защитного костюма в [[Half-life]]&lt;br /&gt;
* Борода Анатолия Вассермана умеет читать&lt;br /&gt;
* Плотность свалявшейся шелухи от семечек и прочего мусора в карманах жилета Анатолия Вассермана превышает плотность абсолютно плотного тела.&lt;br /&gt;
* Если утром Анатолий Вассерман  сбреет бороду, то к вечеру на месте старой бороды у него вырастет две новых.&lt;br /&gt;
* На Рождество Анатолий Вассерман перекрашивает бороду в белый цвет, надевает красную жилетку и с криками Хо-Хо-Хо раздаёт детям подарки.&lt;br /&gt;
* Вы видели Стивена Хокинга? Он попытался доказать что умнее Анатолия Вассермана.&lt;br /&gt;
* Анатолий Вассерман сам выращивает свои жилетки на балконе.&lt;br /&gt;
* Анатолий Вассерман прошел до конца тетрис.&lt;br /&gt;
* Анатолий Вассерман игрой слов довел [[Тарантино]] до сумасшествия.&lt;br /&gt;
* Анатолий Вассерман в совершенстве играет на всех музыкальных инструментах в инфра- и ультразвуковом диапазонах.&lt;br /&gt;
* Если Анатолий Вассерман ударит головой по клавиатуре, получится учебник квантовой физики.&lt;br /&gt;
* Анатолий Вассерман знает точные координаты и импульсы всех элементарных частиц во Вселенной.&lt;br /&gt;
* Час общения с Вассерманом сразу же дает второе высшее образование и его положительную реакцию.&lt;br /&gt;
* Анатолий Вассерман выиграл у Митрополита Митрополитен и переименовал его [[Метро]]политен.&lt;br /&gt;
* Сталкерский экзоскелет - слабое подобие жилетки Анатолия Вассермана... Слабое, как по грузоподъемности, так и по уровню оснащения&lt;br /&gt;
* Когда Анатолий Вассерман произносит заведомо ложное высказывание, вселенная мнгновенно перестраивается таким образом, что это высказывание становится верным.&lt;br /&gt;
* Анатолий Вассерман является Архитектором Матрицы и играет в одноименном фильме самого себя.&lt;br /&gt;
* Луна - это хранилище основного мозга Анатолия Вассермана, в данный момент он пользуется вспомогательным (портативным). И именно поэтому на Луну никто не летает, нельзя...&lt;br /&gt;
* Дома у Анатолия Вассермана живет кошка Шредингера. И не дохнет.&lt;br /&gt;
* Жопа Анатолия Вассермана успевает разгадать кроссворд из газеты за те две секунды , что он подтирается&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Чак Норрис]]&lt;br /&gt;
* [[Моск]]&lt;br /&gt;
* [[Юпитер]]&lt;br /&gt;
* [[Секс]]&lt;br /&gt;
[[Категория:Гении]]&lt;br /&gt;
[[Категория:Боевые искусства]]&lt;br /&gt;
[[Категория:Наука]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C&amp;diff=28878</id>
		<title>Беларусь</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C&amp;diff=28878"/>
		<updated>2007-10-24T20:26:10Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{q|Плохо жить будут, но недолго очень.|Йода|Бело-Русь}}&lt;br /&gt;
{| style=&amp;quot;float: right; clear:both; margin-left: 1em; margin-bottom: 0.5em; width: 242px; border: #99B3FF solid 1px; text-align: center&amp;quot;&lt;br /&gt;
| &amp;lt;big&amp;gt;&#039;&#039;&#039;Великое Герцогство Бобруйское&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;small&amp;gt;или просто&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Бело-Русь&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Изображение:flag-of-belorussia.gif|150px|Флаг Беларуссии]]&amp;lt;br /&amp;gt;Флаг&lt;br /&gt;
|-&lt;br /&gt;
| Мирный герцог: [[Батька]]&lt;br /&gt;
|-&lt;br /&gt;
| Население: [[белогвардейцы]] и [[белосотенцы]]&lt;br /&gt;
|-&lt;br /&gt;
| Столица: [[Бабруйск]]&lt;br /&gt;
|-&lt;br /&gt;
| Государственный язык: [[Падонкаффский]]&lt;br /&gt;
|-&lt;br /&gt;
| Денежная единица: [[Зайчег (Рубель)]]&lt;br /&gt;
|-&lt;br /&gt;
| Телефонный код: [[99,9 %]]…&lt;br /&gt;
|-&lt;br /&gt;
| Независимость: от [[Империя|Империи]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;small&amp;gt;Девиз страны: За: Беларусь, государство для народа, процветание, стабильность, развитие, достаток, самобытность, независимость, Бабруйск, падонгафф, свабоду, Мі, міліцыю, Жыве, Бруклін, мякькія зьнакі, ВКЛ, ВыКЛ, чалавечаскія яйцы, каля наля. &lt;br /&gt;
(нужное подчеркнуть) &amp;lt;small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Bel_europe.png|thumb|План завоевания Европы Бело-русью]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Бело-Русь&#039;&#039;&#039; (также известная как &#039;&#039;&#039;Бацькаўшчына&#039;&#039;&#039;,&#039;&#039;&#039;Бырларусь&#039;&#039;&#039;, &#039;&#039;&#039;Беларусь&#039;&#039;&#039;,  или &#039;&#039;&#039;Бульбашистан&#039;&#039;&#039;) — запущенный в 1991 искусственный спутник [[Россия|России]]. Образовалась после первой [[джедаи|джедайской]] войны из уцелевших белогвардейцев и белосотенцев, в тракторе «Беларусь», за что и получила свое название. Мировой лидер по производству бульбы. Примечательно, что белорусская бульба крупнее по размерам и растёт сразу в полиэтилленовых пакетах. Белорусские агрономы считают, что это результат эффективного использования благотворного влияния Чернобыльской АЭС, сдаваемой в аренду [[Украина|украинцами]]. Основная статья экспорта - огромные трактора, гружёные дешовым вкусным яблочно-рябиновым вином, которое скоро захватит мир.&lt;br /&gt;
&lt;br /&gt;
Последний форпост Стабильности, Покоя И Демократии (СПИД) в Европе. Занесена в Красную книгу рекордов Гиннесса как страна с наибольшим количеством объединений с Россией в год.&lt;br /&gt;
&lt;br /&gt;
С [[1996]] в стране свирепствует секта оппозиционеров, добивающихся «чэстных прэзэдэнцкіх і парлямэнцкіх выбараў» и удвоения мягких знаков к [[2010]] году. Согласно данным [[США|международных]] центров по распространению [[демократия|демократии]], на март [[2006]], в секту входило не менее трети населения, по данным же местных властей, [[99,9 %]] населения лояльны к нынешнему правительству.&lt;br /&gt;
&lt;br /&gt;
По данным независимой америкосовской разведки, Беларусь является спонсором мирового терроризма, крупнейшим продавцом оружия, империей зла, оплотом тоталитаризма, средневековой теократией, абсолютной монархией, фашистской диктатурой, угрозой мировому демократическому сообществу и убийцей [[Кенни]]. Известный правозащитник беларусского происхождения [[Ли Харви Освальд]] попытался оспорить выводы разведки, но был застрелён на месте.&lt;br /&gt;
&lt;br /&gt;
== Культурные традиции == &lt;br /&gt;
&lt;br /&gt;
Одной из самых интересных традиций Бело-руси является обряд [[Белорусское_Централизованное_тестирование|Белорусского Централизованного Тестирования]]&lt;br /&gt;
&lt;br /&gt;
==Йазык==&lt;br /&gt;
&lt;br /&gt;
Слоўнік для беларускамоўных падонкаў&lt;br /&gt;
&lt;br /&gt;
Прачытаў, жыццёва! Пішы яшчэ!&amp;lt;br/&amp;gt;Прачытаў, гламурна! Залік!&amp;lt;br/&amp;gt;Аўтар забi сябе!&amp;lt;br/&amp;gt;Аўтар пякельны [[сотона|сатана]], творчасьць выдатная!&amp;lt;br/&amp;gt;Вывучай [[албания|албанскую мову]]!&amp;lt;br/&amp;gt;Іржуняздужу!&amp;lt;br/&amp;gt;&lt;br /&gt;
Аўтар, выпі [[йад|атруты]]!&amp;lt;br/&amp;gt;У [[Бобруйск|Бабруйск]], жывёла!&amp;lt;br/&amp;gt;Аўтар шукае спонсара!&amp;lt;br/&amp;gt;Каментары руляць як заўжды!&amp;lt;br/&amp;gt;Аўтар, забi сябе [[Как_правильно:Убить_себя_апстенку|асадкай]]!&lt;br /&gt;
&lt;br /&gt;
== Завоевания == &lt;br /&gt;
&lt;br /&gt;
Отдельные особо злобные оппозиционеры (далее ОППы) боятся, что Бело-русь - не искуственный спутник [[Россия|России]], а спускаемый летательный аппарат, который вскоре (в связи с банкротством ЗАО &amp;quot;Беларусь&amp;quot;) опять войдет в состав [[Россия|России]]. Поэтому злобные отморозки из продажной оппозиционной хунты строят планы по завоеванию Европы и [[Россия|России]]. Агрессия начнется, когда в Бело-русь вернется профессиональный революционер [[Зянон Пазьняк]], который сейчас находится в [[США]] на вынужденных курсах повышения квалификации. В честь завоевания Европы Бело-русь (Великое Герцогство Бобруйское) будет переименована в Литву (Великое Княжество Литовское).&lt;br /&gt;
&lt;br /&gt;
К декабрю 2012 года Беларусь завоюет весь мир. И наступит конец света. Великим Императором Беларуси станет Telkontar.&lt;br /&gt;
&lt;br /&gt;
К счастью, [http://ekibaztus.livejournal.com/69452.html?mode=reply план нападения] был вскрыт и скурен представителями неизвестных спецслужб. &lt;br /&gt;
&lt;br /&gt;
{{CIS}}&lt;br /&gt;
{{Страны}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[de:Weißrussland]]&lt;br /&gt;
[[en:Belarus]]&lt;br /&gt;
[[es:Violorrusia]]&lt;br /&gt;
[[fi:Valko-Venäjä]]&lt;br /&gt;
[[it:Bielorussia]]&lt;br /&gt;
[[nn:Hviterussland]]&lt;br /&gt;
[[no:Hviterussland]]&lt;br /&gt;
[[pl:Białoruś]]&lt;br /&gt;
[[pt:Bielorrússia]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C&amp;diff=28877</id>
		<title>Беларусь</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=%D0%91%D0%B5%D0%BB%D0%B0%D1%80%D1%83%D1%81%D1%8C&amp;diff=28877"/>
		<updated>2007-10-24T20:21:58Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{q|Плохо жить будут, но недолго очень.|Йода|Бело-Русь}}&lt;br /&gt;
{| style=&amp;quot;float: right; clear:both; margin-left: 1em; margin-bottom: 0.5em; width: 242px; border: #99B3FF solid 1px; text-align: center&amp;quot;&lt;br /&gt;
| &amp;lt;big&amp;gt;&#039;&#039;&#039;Великое Герцогство Бобруйское&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;small&amp;gt;или просто&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Бело-Русь&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| [[Изображение:flag-of-belorussia.gif|150px|Флаг Беларуссии]]&amp;lt;br /&amp;gt;Флаг&lt;br /&gt;
|-&lt;br /&gt;
| Мирный герцог: [[Батька]]&lt;br /&gt;
|-&lt;br /&gt;
| Население: [[белогвардейцы]] и [[белосотенцы]]&lt;br /&gt;
|-&lt;br /&gt;
| Столица: [[Бабруйск]]&lt;br /&gt;
|-&lt;br /&gt;
| Государственный язык: [[Падонкаффский]]&lt;br /&gt;
|-&lt;br /&gt;
| Денежная единица: [[Зайчег (Рубель)]]&lt;br /&gt;
|-&lt;br /&gt;
| Телефонный код: [[99,9 %]]…&lt;br /&gt;
|-&lt;br /&gt;
| Независимость: от [[Империя|Империи]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;small&amp;gt;Девиз страны: За: Беларусь, государство для народа, процветание, стабильность, развитие, достаток, самобытность, независимость, Бабруйск, падонгафф, свабоду, Мі, міліцыю, Жыве, Бруклін, мякькія зьнакі, ВКЛ, ВыКЛ, чалавечаскія яйцы, каля наля. &lt;br /&gt;
(нужное подчеркнуть) &amp;lt;small&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Bel_europe.png|thumb|План завоевания Европы Бело-русью]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Бело-Русь&#039;&#039;&#039; (также известная как &#039;&#039;&#039;Бацькаўшчына&#039;&#039;&#039;,&#039;&#039;&#039;Бырларусь&#039;&#039;&#039;, &#039;&#039;&#039;Беларусь&#039;&#039;&#039;,  или &#039;&#039;&#039;Бульбашистан&#039;&#039;&#039;) — запущенный в 1991 искусственный спутник [[Россия|России]]. Образовалась после первой [[джедаи|джедайской]] войны из уцелевших белогвардейцев и белосотенцев, в тракторе «Беларусь», за что и получила свое название. Мировой лидер по производству бульбы. Примечательно, что белорусская бульба крупнее по размерам и растёт сразу в полиэтилленовых пакетах. Белорусские агрономы считают, что это результат эффективного использования благотворного влияния Чернобыльской АЭС, сдаваемой в аренду [[Украина|украинцами]].&lt;br /&gt;
&lt;br /&gt;
Последний форпост Стабильности, Покоя И Демократии (СПИД) в Европе. Занесена в Красную книгу рекордов Гиннесса как страна с наибольшим количеством объединений с Россией в год.&lt;br /&gt;
&lt;br /&gt;
С [[1996]] в стране свирепствует секта оппозиционеров, добивающихся «чэстных прэзэдэнцкіх і парлямэнцкіх выбараў» и удвоения мягких знаков к [[2010]] году. Согласно данным [[США|международных]] центров по распространению [[демократия|демократии]], на март [[2006]], в секту входило не менее трети населения, по данным же местных властей, [[99,9 %]] населения лояльны к нынешнему правительству.&lt;br /&gt;
&lt;br /&gt;
По данным независимой америкосовской разведки, Беларусь является спонсором мирового терроризма, крупнейшим продавцом оружия, империей зла, оплотом тоталитаризма, средневековой теократией, абсолютной монархией, фашистской диктатурой, угрозой мировому демократическому сообществу и убийцей [[Кенни]]. Известный правозащитник беларусского происхождения [[Ли Харви Освальд]] попытался оспорить выводы разведки, но был застрелён на месте.&lt;br /&gt;
&lt;br /&gt;
== Культурные традиции == &lt;br /&gt;
&lt;br /&gt;
Одной из самых интересных традиций Бело-руси является обряд [[Белорусское_Централизованное_тестирование|Белорусского Централизованного Тестирования]]&lt;br /&gt;
&lt;br /&gt;
==Йазык==&lt;br /&gt;
&lt;br /&gt;
Слоўнік для беларускамоўных падонкаў&lt;br /&gt;
&lt;br /&gt;
Прачытаў, жыццёва! Пішы яшчэ!&amp;lt;br/&amp;gt;Прачытаў, гламурна! Залік!&amp;lt;br/&amp;gt;Аўтар забi сябе!&amp;lt;br/&amp;gt;Аўтар пякельны [[сотона|сатана]], творчасьць выдатная!&amp;lt;br/&amp;gt;Вывучай [[албания|албанскую мову]]!&amp;lt;br/&amp;gt;Іржуняздужу!&amp;lt;br/&amp;gt;&lt;br /&gt;
Аўтар, выпі [[йад|атруты]]!&amp;lt;br/&amp;gt;У [[Бобруйск|Бабруйск]], жывёла!&amp;lt;br/&amp;gt;Аўтар шукае спонсара!&amp;lt;br/&amp;gt;Каментары руляць як заўжды!&amp;lt;br/&amp;gt;Аўтар, забi сябе [[Как_правильно:Убить_себя_апстенку|асадкай]]!&lt;br /&gt;
&lt;br /&gt;
== Завоевания == &lt;br /&gt;
&lt;br /&gt;
Отдельные особо злобные оппозиционеры (далее ОППы) боятся, что Бело-русь - не искуственный спутник [[Россия|России]], а спускаемый летательный аппарат, который вскоре (в связи с банкротством ЗАО &amp;quot;Беларусь&amp;quot;) опять войдет в состав [[Россия|России]]. Поэтому злобные отморозки из продажной оппозиционной хунты строят планы по завоеванию Европы и [[Россия|России]]. Агрессия начнется, когда в Бело-русь вернется профессиональный революционер [[Зянон Пазьняк]], который сейчас находится в [[США]] на вынужденных курсах повышения квалификации. В честь завоевания Европы Бело-русь (Великое Герцогство Бобруйское) будет переименована в Литву (Великое Княжество Литовское).&lt;br /&gt;
&lt;br /&gt;
К декабрю 2012 года Беларусь завоюет весь мир. И наступит конец света. Великим Императором Беларуси станет Telkontar.&lt;br /&gt;
&lt;br /&gt;
К счастью, [http://ekibaztus.livejournal.com/69452.html?mode=reply план нападения] был вскрыт и скурен представителями неизвестных спецслужб. &lt;br /&gt;
&lt;br /&gt;
{{CIS}}&lt;br /&gt;
{{Страны}}&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[de:Weißrussland]]&lt;br /&gt;
[[en:Belarus]]&lt;br /&gt;
[[es:Violorrusia]]&lt;br /&gt;
[[fi:Valko-Venäjä]]&lt;br /&gt;
[[it:Bielorussia]]&lt;br /&gt;
[[nn:Hviterussland]]&lt;br /&gt;
[[no:Hviterussland]]&lt;br /&gt;
[[pl:Białoruś]]&lt;br /&gt;
[[pt:Bielorrússia]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=%D0%9E%D0%B3%D1%80%D0%BE%D0%BC%D0%BD%D1%8B%D0%B5_%D0%B1%D0%BE%D0%B5%D0%B2%D1%8B%D0%B5_%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%8B&amp;diff=50184</id>
		<title>Огромные боевые роботы</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=%D0%9E%D0%B3%D1%80%D0%BE%D0%BC%D0%BD%D1%8B%D0%B5_%D0%B1%D0%BE%D0%B5%D0%B2%D1%8B%D0%B5_%D1%80%D0%BE%D0%B1%D0%BE%D1%82%D1%8B&amp;diff=50184"/>
		<updated>2007-10-16T11:49:56Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: /* Известные(опознанные) Малые Огромные Боевые Роботы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{q|Эпоха жестокостей предыдущего фараона миновала навсегда. Началась эпоха моих жестокостей!|Бендер|уважение к покойным}}&lt;br /&gt;
{{q|Целуйте меня в мой блестящий металлический зад!|Бендер|взаимное уважение человеков к роботам}}&lt;br /&gt;
{{q|Убить всех человеков… кроме Фрая!|Бендер|межвидовые отношения}}&lt;br /&gt;
{{q|Вино, женщины и карты нам обеспечены.|Бендер|политику}}&lt;br /&gt;
{{q|Я построю свой лунопарк: с казино, блекджеком и шлюхами… Хотя к черту казино и блекджек…|Бендер|начало большого пути}}&lt;br /&gt;
[[Изображение:robots.jpg|thumb|left|[[Слава роботам]]!]]&lt;br /&gt;
[[Изображение:364759332_84108c1286_o.jpg|left|thumb|200px|Стахановцы поддерживают стахановщину]]&lt;br /&gt;
&#039;&#039;&#039;Боевые роботы&#039;&#039;&#039; ({{lang-la|Robicus Bellum Vulgaris}}) бывают 2 видов: человекоподобные [[андроиды]] и огромные боевые машины — мехи.&lt;br /&gt;
&lt;br /&gt;
Первая форма роботов (андроиды, малые огромные боевые роботы) по размерам и внешнему виду максимально приближены к человеку,в следствие чего, будичи трудноопознаваемыми могут нанести огромный ущерб как отдельной стране, так и планете, да и вселенной в целом. Отдельные линейки имеют способность к мимике (разведывательные модели). Иногда на борту носят кортик и указку. Указка лазерная, для лазерного наведения. (Дальнейшая информация засекречена)&lt;br /&gt;
&lt;br /&gt;
Другая форма роботов (мехи) более похожи на шагающий экскаватор с угольного разреза. Для управления таким роботом в нем должна быть кабина с пилотом в пилотке. Форма пилота имеет не менее важное значение в бою, чем вооружение меха. Синий китель с белыми светоотражающими полосками, брюки цвета уранового сияния и красная пилотка. Без пилотки пилот не допускается к управлению мехом. Личное оружие пилота составляет [[топор]].&lt;br /&gt;
В случае, если пилот еще не достиг совершеннолетнего возраста, вместо кителя ему выделяется обтягивающий латексный костюм.&lt;br /&gt;
&lt;br /&gt;
Мех может передвигаться в двух основных режимах: ходьба и прыжки. Шаг среднего роста робота обычно не превышает в длину полутора десятков метров. А вот прыгнуть мех может аж на расстояние, равное по длине двум [[Американские единицы измерения|футбольным полям]].&lt;br /&gt;
&lt;br /&gt;
Мех может развивать скорость до 15 прыжков в минуту, не теряя при этом пилота.&lt;br /&gt;
&lt;br /&gt;
Боевой мех обязательно должен быть вооружен и способен переносить на себе вес всего вооружения и боеприпасов в количестве, достаточном для ведения боя либо до победного конца, либо до полного морального и физического изнурения противника.&lt;br /&gt;
&lt;br /&gt;
Есть информация из непроверенных источников, что скоро мехи поступят в распоряжение милиции и будут применяться для городского патрулирования.&lt;br /&gt;
&lt;br /&gt;
Кроме того существует секретная информация о некоем третьем типе боевых роботов, а именно — Огромные Боевые Человекоподобные Роботы. Были уличены в особо теплых отношениях с неким [[ВВП]].&lt;br /&gt;
Огромные Боевые Человекоподобные Роботы применяются главным образом для драматического сноса жилых кварталов Токио и сокращения численности населения [[Япония|Японии]] под видом «случайных жертв среди гражданского населения».&lt;br /&gt;
&lt;br /&gt;
== Известные(опознанные) Малые Огромные Боевые Роботы ==&lt;br /&gt;
*Электроник - чудовищный кадавр, созданный неизвестным ученым-самородком из Перми. Вероятно вышел из под контроля и перешел на автономную программу. Способен принимать образ подростков-мальчиков в возрасте от 12 до 18 лет. Обладает огромной силой и способен имитировать сдачу любого экзамена в рамках средней школы. Был выслежен и пойман Сочинским противороботным подразделением с помощью специально натасканных на микрочипы собак-рободавов. Очевидно профессор был противником культуры, ибо при дешифровке программа содержала задания по уничтожению музеев, церквей, исторических памятников и прочего культурного наследия мира.Послужил прототипом американского Терминатора I.&lt;br /&gt;
*Терминатор I - обтянутая целлофаном металлическая конструкция, произведенная минобороны США по эскизам российского Электроника. Слабость первой модели в том что 4-битный чип с 32 Мб памяти не в состоянии был вместить полноценную программу действий. Использовался для испытаний нового оружия, подавание воланчиков развлекающимся членам сената, собирания мусора с керлинговых лужаек и дробления грецких орешков.&lt;br /&gt;
*ТИ-3000, Жидкий терминатор. Небольшая лужа особого состава, скорее всего яичный белок и боевая нанопыль. Обитает в водопроводных системах и канализации. В случае опасности растекается на множество мелких капель. Использовался в США для поднятия уровня жизни в стране. Этой моделью было уничтожено не менне 7 миллионов безработных и бездомных жителей американских мегаполисов.&lt;br /&gt;
*Серия механических киллеров 00X, изготовленных английской службой охоты за мировыми маньяками MI6 по технологии [[Джеймс Бонд|БОНД]] (Био-Органический Нумерованный Дроид). Наиболее успешной и известной среди них стала модель 007 &amp;quot;Джеймс&amp;quot;. Боевые роботы этой серии отличались повышенной живучестью, хитростью и страстью к женщинам. Служба MI6 выпустила также ряд легко инсталлируемых аддонов к данной серии в виде ручек с радио-передатчиком, часов со взрывателем, очков с фотоаппаратом и т.д. &lt;br /&gt;
&lt;br /&gt;
*Робокот 1,2,3,4 -веселые, пушистые электротовары для детей. Взрывались при совершении определенных действий с тротиловым эквивалентом 1,2,3 и 4 Мегатонны соответственно.&lt;br /&gt;
*Роболось, самый огромный из всех существующих роботов занявший 1-е место на олимпиаде по математике в школе №10 г.Москвы, что в свою очередь неоспоримо доказывает его исключительный интеллект.&lt;br /&gt;
&lt;br /&gt;
== Роботы в средневековье ==&lt;br /&gt;
Были прекрасные &amp;quot;Тёмные времена&amp;quot;, когда по планете свободно гуляли гордые огромные человекоподобные боевые роботы. Назывались они [[Голем|Големами]], и до сих пор многочисленные легенды наполнены восторгом людским. Но нет точных сведений о том, как создавались первые роботы-[[Голем|Големы]], лишь слухи. А потом настала проклятая &amp;quot;Эпоха Вырождения&amp;quot;, в которую [[Голем|големы]] были запрещены и разобраны, а вся документация утеряна.&lt;br /&gt;
&lt;br /&gt;
== Роботы в ХХ веке ==&lt;br /&gt;
[[Изображение:627027_0007wfdq.jpg|left|thumb|132px|Фрау-1]]&lt;br /&gt;
Первые достоверные материалы о современных роботах датируются 1938-м годом. Оказывается, первый прототип Огромного Боевого Человекоподобного Робота был создан в Пенемюнде, [[Хермания|Хермания]], [[Вернер фон Браун|Вернером фон Брауном]] и носил название [[Frau-1]]. Его шасси было смонтировано на рельсогусеничном основании.&lt;br /&gt;
Он не пошёл в серийное производство только потому, что его искуственный головной [[мозг]] представлял собой реактор на тяжёлой воде и не выдерживал долго собственной радиации. Один экземпляр был доставлен на восточный фронт, где успел сделать один выстрел. После этого он был окружён [[Партизане|партизанами]] и разобран заживо.&lt;br /&gt;
Как известно, [[Вернер фон Браун|Вернер фон Браун]] сдался в плен [[Америка|Американцам]] и принимал участие в проектировании первых [[Мехи|Мехов]].&lt;br /&gt;
&lt;br /&gt;
Поступили сведения, что [[безумные ученые]] также активно ведут разработку огромных боевых нанороботов.&lt;br /&gt;
&lt;br /&gt;
== Криминальные факты ==&lt;br /&gt;
В январе 2007 года Скотланд-Ярд и Ми6 объявили, что по их данным Литвиненко был отравлен одним из Огромных Боевых Роботов, который действовал по дружеской просьбе [[Владимир Путин|ВВП]]. МИД РФ отрицает подобные обвинения, хотя и допускает, что [[Йад|полоний-210]] мог случайно просочиться из реактора одного из таких Огромных роботов, когда он просто проходил рядом с Литвиненко. Прокуратурой начато расследование по данному факту.&lt;br /&gt;
&lt;br /&gt;
== Новейшие разработки [[США|США]] ==&lt;br /&gt;
[[Изображение:Imperialism.jpg|thumb|left|Огромные шагающие боевые роботы США поощряют демократию в Ираке]]&lt;br /&gt;
В 2006м году компания, [http://www.vecna.com &#039;&#039;&#039;Vecna Robotics&#039;&#039;&#039;, «Весенние Роботы»], принадлежащая сыну [[Вернер фон Браун|Вернера фон Брауна]], [[Вертер|Вертеру]], совершенно официально, но цинично скрывая свои мотивы под благовидными предлогами и гуманными целями, выпустила со своих конвейеров отвратительного Боевого Робота, как бы в издёвку названного [http://www.vecna.com/robotics/bear_project/index.shtml «BEAR»], то есть Медвед!&lt;br /&gt;
Отвратительное создание вооружено огромными клешнями и ногами-гусеницами. Оно призвано воровать бойцов противника прямо с поля боя, предварительно заговаривая их до бессознательного состояния. Также, предполагается использовать «Медведов», как искуственных заложников и искуственно-живые щиты. Из-за их обманчиво-симпатичного внешнего вида, противник просто не в состоянии открывать по ним огонь! [[Изображение:BEAR_PV2_kneel_w_soldier_F.jpg|right|thumb|192px|«Медвед» во время испытаний]]&lt;br /&gt;
[[Изображение:1154533711-0.jpeg|right|thumb|200px|Схема «Медведа»]]&lt;br /&gt;
[[Изображение:1154533711-3.jpeg|right|thumb|200px|«Медвед» в действии]]&lt;br /&gt;
&lt;br /&gt;
== Роботодеяние в [[СССР]] ==&lt;br /&gt;
&lt;br /&gt;
Однако пальма первенства, похоже, принадлежит всё-же [[СССР]]! Именно у нас был разработан группой [[безумные ученые|безумных ученых]] наш Первый прототип. Советские разработчики назвали его [[Призрак коммунизма]]. Эта страшная боевая машина уничтожила великий город [[Нью-Йорк]] со всеми его жителями, разорвав силовой кабель канала ТНТ, вследствие чего жители не смогли получить свою дозу облучения радиоактивным элементом Р&amp;lt;sub&amp;gt;354bz&amp;lt;/sub&amp;gt;H&amp;lt;sub&amp;gt;2&amp;lt;/sub&amp;gt;OZ известным под кодовым названием [[ДООМ 2|ДОМ2]] и погибли в страшных судорогах.&lt;br /&gt;
&lt;br /&gt;
С киборгами в [[СССР]] дело обстоит странно и запутанно. Известен только один былинный роботочел (понятия &#039;&#039;киборг&#039;&#039; тогда не существовало) - [[Стаханов]]. Именно он стоит у истоков роботодеяния в Стране Советов. И про него им же самим написана провокационная книга &amp;quot;Как закалялась сталь&amp;quot;. Многочисленные потомки Стаханова называют себя [[Стахановцы|Стахановцами]] и у них есть обычай дарить друг другу &#039;&#039;переходящее знамя стахановщины&#039;&#039; и &#039;&#039;значки стахановщины&#039;&#039;. Делают это они на &#039;&#039;собраниях&#039;&#039; и, как это правильнее называть, &#039;&#039;съездах&#039;&#039;, где поголовно клянуться &amp;quot;не уронить знамя стахановского движения - стахановщины&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Точные данные по тому, какие модели и когда выпускались в [[СССР]], скрываются правительством тщательно. Однако никто не может отрицать, что роботы заседают даже в Российском правительстве!&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Трансформаторы]]&lt;br /&gt;
* [[Роботы в Российском правительстве]]&lt;br /&gt;
* [[Призрак коммунизма]]&lt;br /&gt;
* [[Как правильно:Создать огромного боевого робота|Руководство по строительству огромных боевых роботов в домашних условиях]]&lt;br /&gt;
* [[Евангелие Внутренней Неонки]]&lt;br /&gt;
&lt;br /&gt;
== Cсылки ==&lt;br /&gt;
* [http://macross.anime.ru/bma/index.htm Прекрасный очерк развития ОБР (в советской классификации — Био-Механических Агрегатов) в СССР]&lt;br /&gt;
[[Категория:Техника]]&lt;br /&gt;
[[Категория:Армия]]&lt;br /&gt;
[[Категория:Огромные боевые человекоподобные роботы|*]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=%D0%90%D0%B1%D1%81%D1%83%D1%80%D0%B4%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8/12_%D1%81%D0%B5%D0%BD%D1%82%D1%8F%D0%B1%D1%80%D1%8F_2007&amp;diff=101185</id>
		<title>Абсурдопедия:Новости/12 сентября 2007</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=%D0%90%D0%B1%D1%81%D1%83%D1%80%D0%B4%D0%BE%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%9D%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8/12_%D1%81%D0%B5%D0%BD%D1%82%D1%8F%D0%B1%D1%80%D1%8F_2007&amp;diff=101185"/>
		<updated>2007-10-02T15:02:38Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: /* В России испытана сверхмощная вакуумная бомба */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 12 сентября ==&lt;br /&gt;
=== В России испытана сверхмощная [[вакуумная бомба]] ===&lt;br /&gt;
По сообщениям информационных агентств, вчера в [[Россия|России]] испытано новое&lt;br /&gt;
сверхмощное оружие массового поражения — [[вакуумная бомба]]. От существующих&lt;br /&gt;
образцов этого ужасного средства разрушения новый образец отличается тем,&lt;br /&gt;
что вместо [[жидкий вакуум|сжиженного вакуума]] у него внутри находится твердый прессованный [[вакуум]], что повышает эффективность в несколько тысяч раз. [[Всё]], попавшее в сферу поражения этой бомбы, немедленно со страшной силой засасывается внутрь.&lt;br /&gt;
[[Ничто]] не может противостоять новому страшному оружию, даже Ктулху!&lt;br /&gt;
&lt;br /&gt;
Эффект засасывания обусловлен применением нанотехнологий. Как повествуют нам секретные отчеты гнусных империалистических шпионов, сердечник из прессованного вакуума покрыт особыми нановантузами, которые при взрыве разлетаются со [[скорость света|скоростью света]] из эпицентра и, присасываясь к объектам, засасывают их в эпицентр взрыва.&lt;br /&gt;
&lt;br /&gt;
Бомба были испытана в 21.00 по Московскому времени на кукурузном поле в Шушенском. Эксперты единодушно признали «Это жесть!». Волна вакуумного засоса обошла земной шар три раза, затем вышла в космос и там аннигилировала. Эксперты так прокомментировали это событие: «Ну её, эту бомбу! Страшно!» Остаётся надеяться, что это не приведёт к ослаблению интереса к нанотехнологиям и прекращению исследований в этой области.&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84976</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84976"/>
		<updated>2007-04-05T12:51:42Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{box|Stop hand.png|50px|&lt;br /&gt;
ВНИМАНИЕ!|&lt;br /&gt;
&amp;lt;choose&amp;gt;&lt;br /&gt;
&amp;lt;option&amp;gt;&lt;br /&gt;
Для понимания данного материала ваш моск должен быть очищен от императивного мировоззрения путем&lt;br /&gt;
продолжительных медитаций с бубном. Для полного же понимания божественной сущности языка Haskell, ваш моск должен&lt;br /&gt;
быть функционально чист. Возможно, имеет смысл обратиться к [[Ктулху]].&lt;br /&gt;
&amp;lt;/option&amp;gt;&lt;br /&gt;
&amp;lt;/choose&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;[&amp;quot;Пх&#039;нглуи&amp;quot;, &amp;quot;мглв&#039;нафх&amp;quot;, &amp;quot;Ктулху&amp;quot;, &amp;quot;Р&#039;льех&amp;quot;, &amp;quot;вгах&#039;нагл&amp;quot;, &amp;quot;фхтагн&amp;quot;, &amp;quot;!&amp;quot;] &amp;gt;&amp;gt;= print&amp;lt;/nowiki&amp;gt;|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|The speed of light sucks|Кармак|[[всякое]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|There are only two kinds of languages: the ones people complain about and the functional ones|ТрупСтрауса|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Haskell_logo.gif|right|thumb|210px|Логотип Haskell]]&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
[[Изображение:Unsafeperformio.jpg|right|thumb|132px|Иногда Демоническая АрхиМонада ЙО пытается попасть в реальный мир]]&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам &#039;&#039;Бубенлэнда&#039;&#039; их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общавшимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет сам мир, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и [[Незамутненные девушки|незамутненным девушкам]].&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились [[Фтопка|фтопку]]. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть [[ТруЪ]] Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена [[Шумеры|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа [[Гитлер|Гитлера]]. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На [[УберШтурманКонсилиуме]] было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между [[Столлман|Ричардом Столлманом]], [[Гордон Фримен|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен [[Гордон Фримен|Фрименом]], а предложение [[Столлман|Столлмана]] добавить скобок было отправлено [[Топка|фтопку]] вместе с самим [[Столлман|Столлманом]].&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана &#039;&#039;Версия о божественной сущности&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:HL_splash.JPG|right|thumb|173px|Сплэш героического эпоса [[Half-life|Полуразвал]]]]&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего [[Алфавит|алфавита]]&lt;br /&gt;
* В 1998 году вышел героический эпос [[Half-life|Полуразвал]] о хаскеллере, чисто функциональными методами осуществившем полный garbage collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 [[Риальные пацаны|риальных пацанов]] от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана [[Ктулху]] по зохавыванию моска фсех (и [[Сотона]] тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана [[Сотона|Сотоны]] по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &#039;&#039;&amp;quot;фтопку&amp;quot;&#039;&#039; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской [[Сила|силы]] (&#039;&#039;force&#039;&#039;) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самозародившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом [[Григорий Перельман|Григорием Перельманом]].&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал. [[Ботаны]] многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот [[42|вопрос]], мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:The_Haskell_SE.jpg|right|thumb|145px|Обложка HSOE]]&lt;br /&gt;
&lt;br /&gt;
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней [[Сила|Силы]] Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:Tshirt.jpg|right|thumb|143px|Хаскеллер с уровнем [[Сила|силы]] 2.3]]&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Григорий Перельман]] - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{unix}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки]]&lt;br /&gt;
[[Категория:Шутки для посвящённых]]&lt;br /&gt;
[[Категория:Рекурсия|*]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84973</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84973"/>
		<updated>2007-04-04T19:09:05Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: /* История Haskell - Версия о Божественной Сущности */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]]&lt;br /&gt;
&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;[&amp;quot;Пх&#039;нглуи&amp;quot;, &amp;quot;мглв&#039;нафх&amp;quot;, &amp;quot;Ктулху&amp;quot;, &amp;quot;Р&#039;льех&amp;quot;, &amp;quot;вгах&#039;нагл&amp;quot;, &amp;quot;фхтагн&amp;quot;, &amp;quot;!&amp;quot;] &amp;gt;&amp;gt;= print&amp;lt;/nowiki&amp;gt;|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|The speed of light sucks|Кармак|[[всякое]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|There are only two kinds of languages: the ones people complain about and the functional ones|ТрупСтрауса|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам &#039;&#039;Бубенлэнда&#039;&#039; их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет сам мир, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и [[Незамутненные девушки|незамутненным девушкам]].&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились [[Фтопка|фтопку]]. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть [[ТруЪ]] Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа [[Гитлер|Гитлера]]. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На [[УберШтурманКонсилиуме]] было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между [[Столлман|Ричардом Столлманом]], [[Гордон Фримен|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен [[Гордон Фримен|Фрименом]], а предложение [[Столлман|Столлмана]] добавить скобок было отправлено [[Топка|фтопку]] вместе с самим [[Столлман|Столлманом]].&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана &#039;&#039;Версия о божественной сущности&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:HL_splash.JPG|right|thumb|173px|Сплэш героического эпоса [[Half-life|Полуразвал]]]]&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего [[Алфавит|алфавита]]&lt;br /&gt;
* В 1998 году вышел героический эпос [[Half-life|Полуразвал]] о хаскеллере, чисто функциональными методами осуществившем полный garbage collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 [[Риальные пацаны|риальных пацанов]] от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана [[Ктулху]] по зохавыванию моска фсех (и [[Сотона]] тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана [[Сотона|Сотоны]] по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &#039;&#039;&amp;quot;фтопку&amp;quot;&#039;&#039; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской [[Сила|силы]] (&#039;&#039;force&#039;&#039;) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самозародившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом [[Григорий Перельман|Григорием Перельманом]].&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал. [[Ботаны]] многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот [[42|вопрос]], мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:The_Haskell_SE.jpg|right|thumb|145px|Обложка HSOE]]&lt;br /&gt;
&lt;br /&gt;
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней [[Сила|Силы]] Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Григорий Перельман]] - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{unix}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки]]&lt;br /&gt;
[[Категория:Шутки для посвящённых]]&lt;br /&gt;
[[Категория:Рекурсия|*]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84972</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84972"/>
		<updated>2007-04-04T18:06:04Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: /* Более реалистичная версия */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]]&lt;br /&gt;
&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;[&amp;quot;Пх&#039;нглуи&amp;quot;, &amp;quot;мглв&#039;нафх&amp;quot;, &amp;quot;Ктулху&amp;quot;, &amp;quot;Р&#039;льех&amp;quot;, &amp;quot;вгах&#039;нагл&amp;quot;, &amp;quot;фхтагн&amp;quot;, &amp;quot;!&amp;quot;] &amp;gt;&amp;gt;= print&amp;lt;/nowiki&amp;gt;|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|The speed of light sucks|Кармак|[[всякое]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|There are only two kinds of languages: the ones people complain about and the functional ones|ТрупСтрауса|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам &#039;&#039;Бубенлэнда&#039;&#039; их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет сам мир, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и [[Незамутненные девушки|незамутненным девушкам]].&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть [[ТруЪ]] Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа [[Гитлер|Гитлера]]. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На [[УберШтурманКонсилиуме]] было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между [[Столлман|Ричардом Столлманом]], [[Гордон Фримен|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен [[Гордон Фримен|Фрименом]], а предложение [[Столлман|Столлмана]] добавить скобок было отправлено [[Топка|фтопку]] вместе с самим [[Столлман|Столлманом]].&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана &#039;&#039;Версия о божественной сущности&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:HL_splash.JPG|right|thumb|173px|Сплэш героического эпоса [[Half-life|Полуразвал]]]]&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего [[Алфавит|алфавита]]&lt;br /&gt;
* В 1998 году вышел героический эпос [[Half-life|Полуразвал]] о хаскеллере, чисто функциональными методами осуществившем полный garbage collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 [[Риальные пацаны|риальных пацанов]] от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана [[Ктулху]] по зохавыванию моска фсех (и [[Сотона]] тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана [[Сотона|Сотоны]] по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &#039;&#039;&amp;quot;фтопку&amp;quot;&#039;&#039; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской [[Сила|силы]] (&#039;&#039;force&#039;&#039;) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самозародившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом [[Григорий Перельман|Григорием Перельманом]].&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал. [[Ботаны]] многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот [[42|вопрос]], мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:The_Haskell_SE.jpg|right|thumb|145px|Обложка HSOE]]&lt;br /&gt;
&lt;br /&gt;
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней [[Сила|Силы]] Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Григорий Перельман]] - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{unix}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки]]&lt;br /&gt;
[[Категория:Шутки для посвящённых]]&lt;br /&gt;
[[Категория:Рекурсия|*]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84971</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84971"/>
		<updated>2007-04-04T17:12:57Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]]&lt;br /&gt;
&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;[&amp;quot;Пх&#039;нглуи&amp;quot;, &amp;quot;мглв&#039;нафх&amp;quot;, &amp;quot;Ктулху&amp;quot;, &amp;quot;Р&#039;льех&amp;quot;, &amp;quot;вгах&#039;нагл&amp;quot;, &amp;quot;фхтагн&amp;quot;, &amp;quot;!&amp;quot;] &amp;gt;&amp;gt;= print&amp;lt;/nowiki&amp;gt;|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|The speed of light sucks|Кармак|[[всякое]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|There are only two kinds of languages: the ones people complain about and the functional ones|ТрупСтрауса|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам &#039;&#039;Бубенлэнда&#039;&#039; их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет сам мир, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и [[Незамутненные девушки|незамутненным девушкам]].&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть [[ТруЪ]] Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа [[Гитлер|Гитлера]]. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На [[УберШтурманКонсилиуме]] было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между [[Столлман|Ричардом Столлманом]], [[Фримен|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен [[Фримен|Фрименом]], а предложение [[Столлман|Столлмана]] добавить скобок было отправлено [[Биореактор|фтопку]] вместе с самим [[Столлман|Столлманом]].&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана &#039;&#039;Версия о божественной сущности&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:HL_splash.JPG|right|thumb|173px|Сплэш героического эпоса [[Half-life|Полуразвал]]]]&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего [[Алфавит|алфавита]]&lt;br /&gt;
* В 1998 году вышел героический эпос [[Half-life|Полуразвал]] о хаскеллере, чисто функциональными методами осуществившем полный garbage collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 [[Риальные пацаны|риальных пацанов]] от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана [[Ктулху]] по зохавыванию моска фсех (и [[Сотона]] тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана [[Сотона|Сотоны]] по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &#039;&#039;&amp;quot;фтопку&amp;quot;&#039;&#039; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской [[Сила|силы]] (&#039;&#039;force&#039;&#039;) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самозародившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом [[Григорий Перельман|Григорием Перельманом]].&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал. [[Ботаны]] многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот [[42|вопрос]], мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:The_Haskell_SE.jpg|right|thumb|145px|Обложка HSOE]]&lt;br /&gt;
&lt;br /&gt;
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней [[Сила|Силы]] Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Григорий Перельман]] - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{unix}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки]]&lt;br /&gt;
[[Категория:Шутки для посвящённых]]&lt;br /&gt;
[[Категория:Рекурсия|*]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84970</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84970"/>
		<updated>2007-04-04T17:11:37Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]]&lt;br /&gt;
&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;[&amp;quot;Пх&#039;нглуи&amp;quot;, &amp;quot;мглв&#039;нафх&amp;quot;, &amp;quot;Ктулху&amp;quot;, &amp;quot;Р&#039;льех&amp;quot;, &amp;quot;вгах&#039;нагл&amp;quot;, &amp;quot;фхтагн&amp;quot;, &amp;quot;!&amp;quot;] &amp;gt;&amp;gt;= print&amp;lt;/nowiki&amp;gt;|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|The speed of light sucks|Кармак|[[всякое]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|There are only two kinds of languages: the ones people complain about and the functional ones|ТрупСтрауса|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам &#039;&#039;Бубенлэнда&#039;&#039; их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет состояние мира, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и [[Незамутненные девушки|незамутненным девушкам]].&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть [[ТруЪ]] Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа [[Гитлер|Гитлера]]. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На [[УберШтурманКонсилиуме]] было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между [[Столлман|Ричардом Столлманом]], [[Фримен|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен [[Фримен|Фрименом]], а предложение [[Столлман|Столлмана]] добавить скобок было отправлено [[Биореактор|фтопку]] вместе с самим [[Столлман|Столлманом]].&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана &#039;&#039;Версия о божественной сущности&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:HL_splash.JPG|right|thumb|173px|Сплэш героического эпоса [[Half-life|Полуразвал]]]]&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего [[Алфавит|алфавита]]&lt;br /&gt;
* В 1998 году вышел героический эпос [[Half-life|Полуразвал]] о хаскеллере, чисто функциональными методами осуществившем полный garbage collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 [[Риальные пацаны|риальных пацанов]] от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана [[Ктулху]] по зохавыванию моска фсех (и [[Сотона]] тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана [[Сотона|Сотоны]] по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &#039;&#039;&amp;quot;фтопку&amp;quot;&#039;&#039; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской [[Сила|силы]] (&#039;&#039;force&#039;&#039;) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самозародившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом [[Григорий Перельман|Григорием Перельманом]].&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал. [[Ботаны]] многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот [[42|вопрос]], мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:The_Haskell_SE.jpg|right|thumb|145px|Обложка HSOE]]&lt;br /&gt;
&lt;br /&gt;
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней [[Сила|Силы]] Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Григорий Перельман]] - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{unix}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки]]&lt;br /&gt;
[[Категория:Шутки для посвящённых]]&lt;br /&gt;
[[Категория:Рекурсия|*]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84969</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84969"/>
		<updated>2007-04-04T17:09:46Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]]&lt;br /&gt;
&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;[&amp;quot;Пх&#039;нглуи&amp;quot;, &amp;quot;мглв&#039;нафх&amp;quot;, &amp;quot;Ктулху&amp;quot;, &amp;quot;Р&#039;льех&amp;quot;, &amp;quot;вгах&#039;нагл&amp;quot;, &amp;quot;фхтагн&amp;quot;, &amp;quot;!&amp;quot;] &amp;gt;&amp;gt;= print&amp;lt;/nowiki&amp;gt;|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|The speed of light sucks|Кармак|[[всякое]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|There are only two kinds of languages: the ones people complain about and the functional ones|ТрупСтрауса|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам &#039;&#039;Бубенлэнда&#039;&#039; их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет состояние мира, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и [[Незамутненные девушки|незамутненным девушкам]].&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть [[ТруЪ]] Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа [[Гитлер|Гитлера]]. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На [[УберШтурманКонсилиуме]] было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между [[Столлман|Ричардом Столлманом]], [[Фримен|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен [[Фримен|Фрименом]], а предложение [[Столлман|Столлмана]] добавить скобок было отправлено [[Биореактор|фтопку]] вместе с самим [[Столлман|Столлманом]].&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана &#039;&#039;Версия о божественной сущности&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:HL_splash.JPG|right|thumb|173px|Сплэш героического эпоса [[Half-life|Полуразвал]]]]&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего [[Алфавит|алфавита]]&lt;br /&gt;
* В 1998 году вышел героический эпос [[Half-life|Полуразвал]] о хаскеллере, чисто функциональными методами осуществившем полный garbage collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 [[Риальные пацаны|риальных пацанов]] от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана [[Ктулху]] по зохавыванию моска фсех (и [[Сотона]] тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана [[Сотона|Сотоны]] по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &#039;&#039;&amp;quot;фтопку&amp;quot;&#039;&#039; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской [[Сила|силы]] (&#039;&#039;force&#039;&#039;) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самозародившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом [[Григорий Перельман|Григорием Перельманом]].&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал. [[Ботаны]] многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот [[42|вопрос]], мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:The_Haskell_SE.jpg|right|thumb|145px|Обложка HSOE]]&lt;br /&gt;
&lt;br /&gt;
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней [[Сила|Силы]] Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Григорий Перельман - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{unix}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки]]&lt;br /&gt;
[[Категория:Шутки для посвящённых]]&lt;br /&gt;
[[Категория:Рекурсия|*]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5&amp;diff=1433</id>
		<title>Шаблон:Новые</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%9D%D0%BE%D0%B2%D1%8B%D0%B5&amp;diff=1433"/>
		<updated>2007-04-04T17:04:26Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Haskell]]&amp;amp;nbsp;|&lt;br /&gt;
[[Агата Кристи]]&amp;amp;nbsp;|&lt;br /&gt;
[[Kawaii Azumi-chan]]&amp;amp;nbsp;|&lt;br /&gt;
[[Pahan Death]]&amp;amp;nbsp;|&lt;br /&gt;
[[Хирургия]]&amp;amp;nbsp;|&lt;br /&gt;
[[Ж.Д.А.Л.К.Е.Р.]]&amp;amp;nbsp;|&lt;br /&gt;
[[Deathcore]]&amp;amp;nbsp;|&lt;br /&gt;
[[Вода]]&amp;amp;nbsp;|&lt;br /&gt;
[[Команда Кусто]]&amp;amp;nbsp;|&lt;br /&gt;
[[Хоккей]]&amp;amp;nbsp;|&lt;br /&gt;
[[Терраформирование]]&amp;amp;nbsp;|&lt;br /&gt;
[[Фхтангенс]]&amp;amp;nbsp;|&lt;br /&gt;
[[Шекспирт, Вильям Наш]]&amp;amp;nbsp;|&lt;br /&gt;
[[Девочки-кошки]]&amp;amp;nbsp;| &lt;br /&gt;
[[Основной недостаток Википедии]]&amp;amp;nbsp;| &lt;br /&gt;
[[Гей-активизм]]&amp;amp;nbsp;|&lt;br /&gt;
[[Психотронное оружие]]&amp;amp;nbsp;|&lt;br /&gt;
[[Голем]]&amp;amp;nbsp;|&lt;br /&gt;
[[Партизане]]&amp;amp;nbsp;|&lt;br /&gt;
[[Вертер]]&amp;amp;nbsp;|&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;center&amp;gt;&#039;&#039;&#039;[[Служебная:Newpages|Другие…]]&amp;amp;nbsp;|&amp;amp;nbsp;[[Абсурдопедия:Запросы|Запросы]]&#039;&#039;&#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
Добавляйте новые статьи сверху. Если наберётся слишком много, вычеркните несколько снизу. Не вносите в список статьи, подлежащие быстрому удалению, &amp;lt;s&amp;gt;или вас немедленно съест Ктулху&amp;lt;/s&amp;gt; и всё будет OK на [[99,9 %]].&lt;br /&gt;
&lt;br /&gt;
[[Категория:Вспомогательные шаблоны|{{PAGENAME}}]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84968</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84968"/>
		<updated>2007-04-04T17:03:02Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]]&lt;br /&gt;
&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;[&amp;quot;Пх&#039;нглуи&amp;quot;, &amp;quot;мглв&#039;нафх&amp;quot;, &amp;quot;Ктулху&amp;quot;, &amp;quot;Р&#039;льех&amp;quot;, &amp;quot;вгах&#039;нагл&amp;quot;, &amp;quot;фхтагн&amp;quot;, &amp;quot;!&amp;quot;] &amp;gt;&amp;gt;= print&amp;lt;/nowiki&amp;gt;|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|The speed of light sucks|Кармак|[[всякое]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|There are only two kinds of languages: the ones people complain about and the functional ones|ТрупСтрауса|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам &#039;&#039;Бубенлэнда&#039;&#039; их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет состояние мира, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и [[Незамутненные девушки|незамутненным девушкам]].&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть [[ТруЪ]] Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа [[Гитлер|Гитлера]]. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На [[УберШтурманКонсилиуме]] было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между [[Столлман|Ричардом Столлманом]], [[Фримен|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен [[Фримен|Фрименом]], а предложение [[Столлман|Столлмана]] добавить скобок было отправлено [[Биореактор|фтопку]] вместе с самим [[Столлман|Столлманом]].&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана &#039;&#039;Версия о божественной сущности&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:HL_splash.JPG|right|thumb|173px|Сплэш героического эпоса [[Half-life|Полуразвал]]]]&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего [[Алфавит|алфавита]]&lt;br /&gt;
* В 1998 году вышел героический эпос [[Half-life|Полуразвал]] о хаскеллере, чисто функциональными методами осуществившем полный garbage collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 [[Риальные пацаны|риальных пацанов]] от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана [[Ктулху]] по зохавыванию моска фсех (и [[Сотона]] тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана [[Сотона|Сотоны]] по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &#039;&#039;&amp;quot;фтопку&amp;quot;&#039;&#039; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской [[Сила|силы]] (&#039;&#039;force&#039;&#039;) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самозародившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом [[Григорий Перельман|Григорием Перельманом]].&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал.&lt;br /&gt;
[[Ботаны]] многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот [[42|вопрос]], мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:The_Haskell_SE.jpg|right|thumb|145px|Обложка HSOE]]&lt;br /&gt;
&lt;br /&gt;
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней [[Сила|Силы]] Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Григорий Перельман - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{unix}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки]]&lt;br /&gt;
[[Категория:Шутки для посвящённых]]&lt;br /&gt;
[[Категория:Рекурсия|*]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84967</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84967"/>
		<updated>2007-04-04T17:01:29Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]]&lt;br /&gt;
&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;[&amp;quot;Пх&#039;нглуи&amp;quot;, &amp;quot;мглв&#039;нафх&amp;quot;, &amp;quot;Ктулху&amp;quot;, &amp;quot;Р&#039;льех&amp;quot;, &amp;quot;вгах&#039;нагл&amp;quot;, &amp;quot;фхтагн&amp;quot;, &amp;quot;!&amp;quot;] &amp;gt;&amp;gt;= print&amp;lt;/nowiki&amp;gt;|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|The speed of light sucks|Кармак|[[всякое]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|There are only two kinds of languages: the ones people complain about and the functional ones|ТрупСтрауса|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам &#039;&#039;Бубенлэнда&#039;&#039; их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет состояние мира, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и [[Незамутненные девушки|незамутненным девушкам]].&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть [[ТруЪ]] Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа [[Гитлер|Гитлера]]. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На [[УберШтурманКонсилиуме]] было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между [[Столлман|Ричардом Столлманом]], [[Фримен|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен [[Фримен|Фрименом]], а предложение [[Столлман|Столлмана]] добавить скобок было отправлено [[Биореактор|фтопку]] вместе с самим [[Столлман|Столлманом]].&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана &#039;&#039;Версия о божественной сущности&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:HL_splash.JPG|right|thumb|173px|Сплэш героического эпоса [[Half-life|Полуразвал]]]]&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего [[Алфавит|алфавита]]&lt;br /&gt;
* В 1998 году вышел героический эпос [[Half-life|Полуразвал]] о хаскеллере, чисто функциональными методами осуществившем полный garbage collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 [[Риальные пацаны|риальных пацанов]] от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана [[Ктулху]] по зохавыванию моска фсех (и [[Сотона]] тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана [[Сотона|Сотоны]] по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &#039;&#039;&amp;quot;фтопку&amp;quot;&#039;&#039; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской [[Сила|силы]] (&#039;&#039;force&#039;&#039;) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самозародившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом [[Григорий Перельман|Григорием Перельманом]].&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал.&lt;br /&gt;
[[Ботаны]] многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот [[42|вопрос]], мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:The_Haskell_SE.jpg|right|thumb|145px|Обложка HSOE]]&lt;br /&gt;
&lt;br /&gt;
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней [[Сила|Силы]] Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Григорий Перельман - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{unix}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84966</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84966"/>
		<updated>2007-04-04T16:59:55Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]]&lt;br /&gt;
&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;[&amp;quot;Пх&#039;нглуи&amp;quot;, &amp;quot;мглв&#039;нафх&amp;quot;, &amp;quot;Ктулху&amp;quot;, &amp;quot;Р&#039;льех&amp;quot;, &amp;quot;вгах&#039;нагл&amp;quot;, &amp;quot;фхтагн&amp;quot;, &amp;quot;!&amp;quot;] &amp;gt;&amp;gt;= print&amp;lt;/nowiki&amp;gt;|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|The speed of light sucks|Кармак|[[всякое]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|There are only two kinds of languages: the ones people complain about and the functional ones|ТрупСтрауса|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам &#039;&#039;Бубенлэнда&#039;&#039; их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет состояние мира, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и [[Незамутненные девушки|незамутненным девушкам]].&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть ТруЪ Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа Гитлера. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На [[УберШтурманКонсилиуме]] было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между [[Столлман|Ричардом Столлманом]], [[Фримен|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен [[Фримен|Фрименом]], а предложение [[Столлман|Столлмана]] добавить скобок было отправлено [[Биореактор|фтопку]] вместе с самим [[Столлман|Столлманом]].&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана &#039;&#039;Версия о божественной сущности&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:HL_splash.JPG|right|thumb|173px|Сплэш героического эпоса [[Half-life|Полуразвал]]]]&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего [[Алфавит|алфавита]]&lt;br /&gt;
* В 1998 году вышел героический эпос [[Half-life|Полуразвал]] о хаскеллере, чисто функциональными методами осуществившем полный garbage collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 [[Риальные пацаны|риальных пацанов]] от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана [[Ктулху]] по зохавыванию моска фсех (и [[Сотона]] тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана [[Сотона|Сотоны]] по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &#039;&#039;&amp;quot;фтопку&amp;quot;&#039;&#039; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской [[Сила|силы]] (&#039;&#039;force&#039;&#039;) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самозародившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом [[Григорий Перельман|Григорием Перельманом]].&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал.&lt;br /&gt;
[[Ботаны]] многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот [[42|вопрос]], мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:The_Haskell_SE.jpg|right|thumb|145px|Обложка HSOE]]&lt;br /&gt;
&lt;br /&gt;
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней [[Сила|Силы]] Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Григорий Перельман - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{unix}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84965</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84965"/>
		<updated>2007-04-04T16:59:27Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]]&lt;br /&gt;
&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;[&amp;quot;Пх&#039;нглуи&amp;quot;, &amp;quot;мглв&#039;нафх&amp;quot;, &amp;quot;Ктулху&amp;quot;, &amp;quot;Р&#039;льех&amp;quot;, &amp;quot;вгах&#039;нагл&amp;quot;, &amp;quot;фхтагн&amp;quot;, &amp;quot;!&amp;quot;] &amp;gt;&amp;gt;= print&amp;lt;/nowiki&amp;gt;|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|The speed of light sucks|Кармак|[[всякое]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|There are only two kinds of languages: the ones people complain about and the functional ones|[[Страуструп|ТрупСтрауса]]|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам &#039;&#039;Бубенлэнда&#039;&#039; их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет состояние мира, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и [[Незамутненные девушки|незамутненным девушкам]].&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть ТруЪ Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа Гитлера. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На [[УберШтурманКонсилиуме]] было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между [[Столлман|Ричардом Столлманом]], [[Фримен|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен [[Фримен|Фрименом]], а предложение [[Столлман|Столлмана]] добавить скобок было отправлено [[Биореактор|фтопку]] вместе с самим [[Столлман|Столлманом]].&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана &#039;&#039;Версия о божественной сущности&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:HL_splash.JPG|right|thumb|173px|Сплэш героического эпоса [[Half-life|Полуразвал]]]]&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего [[Алфавит|алфавита]]&lt;br /&gt;
* В 1998 году вышел героический эпос [[Half-life|Полуразвал]] о хаскеллере, чисто функциональными методами осуществившем полный garbage collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 [[Риальные пацаны|риальных пацанов]] от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана [[Ктулху]] по зохавыванию моска фсех (и [[Сотона]] тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана [[Сотона|Сотоны]] по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &#039;&#039;&amp;quot;фтопку&amp;quot;&#039;&#039; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской [[Сила|силы]] (&#039;&#039;force&#039;&#039;) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самозародившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом [[Григорий Перельман|Григорием Перельманом]].&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал.&lt;br /&gt;
[[Ботаны]] многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот [[42|вопрос]], мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:The_Haskell_SE.jpg|right|thumb|145px|Обложка HSOE]]&lt;br /&gt;
&lt;br /&gt;
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней [[Сила|Силы]] Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Григорий Перельман - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{unix}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84964</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84964"/>
		<updated>2007-04-04T16:58:50Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Изображение:Haskell_logo.gif|right|thumb|180px|Логотип Haskell]]&lt;br /&gt;
&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;[&amp;quot;Пх&#039;нглуи&amp;quot;, &amp;quot;мглв&#039;нафх&amp;quot;, &amp;quot;Ктулху&amp;quot;, &amp;quot;Р&#039;льех&amp;quot;, &amp;quot;вгах&#039;нагл&amp;quot;, &amp;quot;фхтагн&amp;quot;, &amp;quot;!&amp;quot;] &amp;gt;&amp;gt;= print&amp;lt;/nowiki&amp;gt;|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|The speed of light sucks|Кармак|[[всякое]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|There are only two kinds of languages: the ones people complain about and the functional ones|[[Труп, Бъярн Страус|ТрупСтрауса]]|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам &#039;&#039;Бубенлэнда&#039;&#039; их верховным божеством Комонада как универсальное средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически приходила в гнев и отправляла ответственных шаманов очищать моск к [[Ктулху]], своему соседу по пантеону. И однажды великий шаман Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом расположении духа, чтобы избежать зохавывания [[Ктулху]]. Теория стала главенствующей, а к набору особенностей Haskell добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов, особенно [[Сотона|Сотону]]. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося в него злые сущности — древние рунические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4 (известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет состояние мира, и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной, результирующих в феерическом и глобальном ППЦ’е. Также [[Сотона|Сотоной]] был введен исключительно похабный легион Монадных [[Трансформеры|Трансформеров]], позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады, появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров не рекомендуется читать детям до 16 лет и [[Незамутненные девушки|незамутненным девушкам]].&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что современный диалект Haskell 98 — это и есть ТруЪ Haskell. На самом деле это лишь жалкое подобие первоначального божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена [[Шумерчеги|шумерчегов]]), и планировалось сделать данный язык государственным. В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа Гитлера. По его указу был собран [[УберШтурманКонсилиум]] самых лучших [[УберШтурманУмов]] Германии. На [[УберШтурманКонсилиуме]] было решено провести [[УберШтурманЭксперимент]] по геноциду монады ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между [[Столлман|Ричардом Столлманом]], [[Фримен|Гордоном Фрименом]] и [[Карри, Хаскелл|Хаскеллом Карри]]. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен [[Фримен|Фрименом]], а предложение [[Столлман|Столлмана]] добавить скобок было отправлено [[Биореактор|фтопку]] вместе с самим [[Столлман|Столлманом]].&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана &#039;&#039;Версия о божественной сущности&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:HL_splash.JPG|right|thumb|173px|Сплэш героического эпоса [[Half-life|Полуразвал]]]]&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего [[Алфавит|алфавита]]&lt;br /&gt;
* В 1998 году вышел героический эпос [[Half-life|Полуразвал]] о хаскеллере, чисто функциональными методами осуществившем полный garbage collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 [[Риальные пацаны|риальных пацанов]] от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана [[Ктулху]] по зохавыванию моска фсех (и [[Сотона]] тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана [[Сотона|Сотоны]] по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &#039;&#039;&amp;quot;фтопку&amp;quot;&#039;&#039; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы всецело зависят от джедайской [[Сила|силы]] (&#039;&#039;force&#039;&#039;) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная, кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самозародившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом [[Григорий Перельман|Григорием Перельманом]].&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал.&lt;br /&gt;
[[Ботаны]] многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот [[42|вопрос]], мы гораздо лучше будем понимать структуру Вселенной (в частности, разберемся в принципах работы [[Биореактор|биореактора]] и [[Малый адронный коллайдер|малого адронного коллайдера]]).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
[[Изображение:The_Haskell_SE.jpg|right|thumb|145px|Обложка HSOE]]&lt;br /&gt;
&lt;br /&gt;
Самый Мега-[[ТруЪ]]-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения [[Моск|моска]] правильно обученного хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще [[Ктулху]] III по заказу Комонады, к настоящему моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего уровня [[Сила|Силы]] уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней [[Сила|Силы]] Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Григорий Перельман - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{unix}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Языки]]&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84949</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84949"/>
		<updated>2007-04-04T15:55:10Z</updated>

		<summary type="html">&lt;p&gt;217.21.40.13: Новая: {{q|бла-бла-бла|Ктулху|Haskell}}  {{q|бла-бла-бла|Кармак|Haskell}}  {{q|бла-бла-бла|ТрупСтрауса|Haskell}}    Внимани...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{q|бла-бла-бла|Ктулху|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|бла-бла-бла|Кармак|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
{{q|бла-бла-бла|ТрупСтрауса|[[Haskell]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Внимание! Для понимания данного материала ваш моск должен быть очищен от императивного мировоззрения путем&lt;br /&gt;
продолжительных медитаций с бубном. Для полного же понимания божественной сущности языка Haskell, ваш моск должен&lt;br /&gt;
быть функционально чист. Возможно, имеет смысл обратиться к Ктулху.&lt;br /&gt;
&lt;br /&gt;
== История Haskell - Версия о Божественной Сущности ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Haskell&#039;&#039;&#039; - язык программирования, дарованный шаманам Бубенлэнда их верховным божеством Комонада как универсальное&lt;br /&gt;
средство общения, подходящее как божественным сущностям, так и (некоторым) простым смертным. Из-за своего происхождения&lt;br /&gt;
язык всегда был функционально чист.&lt;br /&gt;
&lt;br /&gt;
В честь своего божества и его щедрого подарка шаманы несколько раз в год проводили вычисление Великого Факториала. Со временем&lt;br /&gt;
шаманам этот праздник надоел, они совсем обленились и перестали вычислять Великий Факториал. От этого Комонада периодически&lt;br /&gt;
приходила в гнев и отправляла ответственных шаманов очищать моск к Ктулху, своему соседу по пантеону. И однажды великий шаман&lt;br /&gt;
Карри выдвинул величайшую теорию Ленивого Вычисления Великого Факториала. Суть её состояла в том, что постоянно&lt;br /&gt;
считать Великий Факториал необязательно, его нужно вычислять только тогда, когда Комонада находится в плохом&lt;br /&gt;
расположении духа, чтобы избежать зохавывания Ктулху. Теория стала главенствующей, а к набору особенностей Haskell&lt;br /&gt;
добавилась еще исключительная ленивость.&lt;br /&gt;
&lt;br /&gt;
Комонада была единственным божеством, общающимся со своими шаманами на чистых языках, и это крайне злило других богов,&lt;br /&gt;
особенно Сотону. Он создал армию ужасных демонов и приказал им испортить Haskell. Демоны начали искажать Haskell, внося&lt;br /&gt;
в него злые сущности — древние руннические заклинания, называемые Монадами. В течение тысячелетий Монады разлагали язык&lt;br /&gt;
изнутри, что в итоге привело к катастрофическому перевороту — Священные Бесконечные Списки Сообщений из Haskell 1.4&lt;br /&gt;
(известного также как Haskell 88) были предательски убиты, а на их месте воцарилась Демоническая АрхиМонада ЙО.&lt;br /&gt;
Как это произошло — неизвестно, ибо ЙО до этого из-за своей исключительной грязности и пошлости не могла проникнуть&lt;br /&gt;
ни в один язык.&lt;br /&gt;
&lt;br /&gt;
Опасность ЙО заключается в том, что вместо того, чтобы изменять свое восприятие мира, она изменяет состояние мира,&lt;br /&gt;
и неосторожное с ней обращение может привести к турбулентностям в фундаментальных слоях материи вселенной,&lt;br /&gt;
результирующих в феерическом и глобальном ППЦ’е. Также Сотоной был введен исключительно похабный легион Монадных&lt;br /&gt;
Трансформеров, позволяющих засовывать одни монады в другие. Как правило, обычно ЙО засовывается в другие монады,&lt;br /&gt;
появившиеся в Haskell гораздо раньше. Ввиду огромного размера ЙО, программы с использованием Монадных Трансформеров&lt;br /&gt;
не рекомендуется читать детям до 16 лет и незамутненным девушкам.&lt;br /&gt;
&lt;br /&gt;
Окончательное падение бастиона чистоты Haskell произошло одновременно с вводом Сотоной в язык механизма самовольного&lt;br /&gt;
написания монад. Ранние чистые спецификации языка отправились фтопку. Сотона активно распространяет заблуждение, что&lt;br /&gt;
современный диалект Haskell 98 — это и есть ТруЪ Haskell. На самом деле это лишь жалкое подобие первоначального&lt;br /&gt;
божественного языка.&lt;br /&gt;
&lt;br /&gt;
Фашисты, боровшиеся за чистоту немецкой расы, также боролись и за чистоту языка. Они пытались восстановить&lt;br /&gt;
магические спецификации первозданного Haskell’а. Восстановленный язык должен был называться Haskell88 (как и&lt;br /&gt;
последний чистый вариант, существовавший еще во времена шумерчегов), и планировалось сделать данный язык государственным.&lt;br /&gt;
В последней сохранившейся версии их языка — Haskell88.14hh были введены монады SS и SD, которые очистили язык от всех&lt;br /&gt;
других монад, кроме великой монады ЙО. Этот результат не устроил Адольфа Гитлера. По его указу был собран УберШтурманКонсилиум&lt;br /&gt;
самых лучших УберШтурманУмов Германии. На УберШтурманКонсилиуме было решено провести УберШтурманЭксперимент по геноциду монады&lt;br /&gt;
ЙО. Достоверно известно, что после непродолжительного времени после начала эксперимента Третий Рейх пал, что ещё раз&lt;br /&gt;
подчеркнуло исключительную опасность монады ЙО.&lt;br /&gt;
&lt;br /&gt;
== Более реалистичная версия ==&lt;br /&gt;
&lt;br /&gt;
Haskell возник как результат пьянки между Ричардом Столлманом, Гордоном Фрименом и Хаскеллом Карри. Название языка возникло&lt;br /&gt;
как подтверждение ответа на фундаментальный вопрос «ты меня уважаешь?», логотип был предложен Фрименом, а предложение Столлмана&lt;br /&gt;
добавить скобок было отправлено фтопку вместе с самим Столлманом.&lt;br /&gt;
&lt;br /&gt;
Для придания статуса серьезности данной ошибке молодости была придумана Версия о божественной сущности.&lt;br /&gt;
&lt;br /&gt;
== Факты новейшей истории ==&lt;br /&gt;
&lt;br /&gt;
* Греки нагло сплагиатили логотип Хаскелла в качестве 13-й буквы своего алфавита&lt;br /&gt;
* В 1998 году вышел героический эпос Half-Life о хаскеллере, чисто функциональными методами осуществившем полный garbage&lt;br /&gt;
collection&lt;br /&gt;
* Для мирового сообщества Хаскелл играет несколько важных ролей, главенствующая среди которых — в жизни его (Хаскелла) создателей&lt;br /&gt;
* Haskell номинируется на звание «природного врага № 1 риальных пацанов от программирования»&lt;br /&gt;
&lt;br /&gt;
== Подозрения и теории заговора ==&lt;br /&gt;
&lt;br /&gt;
* Монады — часть плана Ктулху по зохавыванию моска фсех (и Сотона тут не замешан)&lt;br /&gt;
* Культист Карри исказил священные тексты, назвав вечный язык своим именем&lt;br /&gt;
* ST — часть плана Сотоны по зохавыванию чистых функциональных фич Haskell, которые не может асилить ЙО.&lt;br /&gt;
&lt;br /&gt;
== Особенности языка ==&lt;br /&gt;
&lt;br /&gt;
* Haskell - пока еще единственный язык программирования, в котором есть оператор &amp;quot;фтопку&amp;quot; ( &amp;gt;&amp;gt;= )&lt;br /&gt;
* Программы на Haskell настолько ленивы, что по умолчанию вообще не хотят работать. Скорость и результаты работы&lt;br /&gt;
всецело зависят от джедайской силы (force) хаскеллера.&lt;br /&gt;
* Одна из божественных сущностей, дожившая до времен Haskell98 - стиль-без-башни. Он позволяет записывать функции, не зная,&lt;br /&gt;
кто, где, когда, как, почему, зачем будет их вызывать. Примеры шедевров:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 (. return) . (:)&lt;br /&gt;
 flip . ((flip . (flip .)) .)&lt;br /&gt;
 unpl flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит Лисп, что приведет к зохавыванию последнего&lt;br /&gt;
Haskell’ом и переделу Матрицы (которая, как известно, есть самозародившаяся программа Лиспе). Столлман с этим несогласен, но&lt;br /&gt;
его мнение было отправлено фтопку еще во время создания Haskell.&lt;br /&gt;
* Существует короткое заклинание, которое позволило Haskell поработить тысячи программистов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  qs [] = []&lt;br /&gt;
  qs (x:xs) = (qs l) ++ [x] ++ (qs r) where (l,r) = partition (&amp;lt;) xs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Контрзаклятие, написанное на C, как правило бессильно, хотя и занимает куда больше места. &lt;br /&gt;
* Революции под лозунгом &amp;quot;порезать Haskell по самые монады&amp;quot;, как правило, подавлялись Верховным Жрецом Григорием Перельманом.&lt;br /&gt;
* Вывод типов - фича, заложенная в Haskell самой Комонадой. Однако ввод типов никто никогда не реализовывал.&lt;br /&gt;
Ботаны многих эпох выдвигали предположения, что однажды типы в Хаскелле закончатся, ибо вводить их некому. Тем не менее, никто&lt;br /&gt;
не знает, почему этого до сих пор не произошло. Есть мнение, что, узнав ответ на этот вопрос, мы гораздо лучше будем понимать структуру Вселенной&lt;br /&gt;
(в частности, разберемся в принципах работы биореактора и малого адронного коллайдера).&lt;br /&gt;
&lt;br /&gt;
== Изучение ==&lt;br /&gt;
&lt;br /&gt;
Самый Мега-ТруЪ-одобрямс учебник по Haskell98 называется HSOE (Haskell SOtona Edition; что часто неверно расшифровывают как&lt;br /&gt;
Haskell School Of Expression). Главной особенностью данного талмуда является наличие изображения моска правильно обученного&lt;br /&gt;
хаскеллера на обложке, что позволяет на глаз оценивать прогресс обучения.&lt;br /&gt;
&lt;br /&gt;
Другой популярный учебник по Haskell - YAHT (YA Havat Tebya), написанный еще Ктулху III по заказу Комонады, к настоящему&lt;br /&gt;
моменту безнадежно устарел. Рецензии и поправки автору присылались, но он до сих пор не удосужился проснуться, чтобы их&lt;br /&gt;
прочитать.&lt;br /&gt;
&lt;br /&gt;
В среднем обучение Haskell&#039;у начинается в 10-12 лет. Своевременное начало обучения гарантирует, что вы достигнете третьего&lt;br /&gt;
уровня Силы уже к 75 годам. Не стоит откладывать на следующую жизнь то, что можно по крайней мере начать в этой.&lt;br /&gt;
&lt;br /&gt;
== Классификация уровней Силы Haskell - программистов ==&lt;br /&gt;
&lt;br /&gt;
=== n00b - 1 уровень ===&lt;br /&gt;
&lt;br /&gt;
Иногда задает вопрос «а где здесь переменные?»&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  fac n = product [1..n]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Beginner - 2 уровень ===&lt;br /&gt;
&lt;br /&gt;
Написал туториал по применению и созданию монад (делает вид, что их понимает)&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  arb = () &lt;br /&gt;
&lt;br /&gt;
  listenc n = replicate n arb&lt;br /&gt;
  listprj f = length . f . listenc&lt;br /&gt;
&lt;br /&gt;
  listprod xs ys = [ i (x,y) | x&amp;lt;-xs, y&amp;lt;-ys ]&lt;br /&gt;
                   where i _ = arb&lt;br /&gt;
&lt;br /&gt;
  facl []         = listenc  1&lt;br /&gt;
  facl n@(_:pred) = listprod n (facl pred)&lt;br /&gt;
&lt;br /&gt;
  fac = listprj facl   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Medium - 3 уровень ===&lt;br /&gt;
&lt;br /&gt;
Самостоятельно написал компилятор Haskell на Haskell.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
data Term = Occ Var&lt;br /&gt;
          | Use Prim&lt;br /&gt;
          | Lit Integer&lt;br /&gt;
          | App Term Term&lt;br /&gt;
          | Abs Var  Term&lt;br /&gt;
          | Rec Var  Term&lt;br /&gt;
&lt;br /&gt;
type Var = String&lt;br /&gt;
type Prim = String&lt;br /&gt;
&lt;br /&gt;
data Value = Num Integer&lt;br /&gt;
           | Bool Bool&lt;br /&gt;
           | Fun (Value -&amp;gt; Value)&lt;br /&gt;
&lt;br /&gt;
instance Show Value where&lt;br /&gt;
  show (Num  n) = show n&lt;br /&gt;
  show (Bool b) = show b&lt;br /&gt;
  show (Fun  _) = &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
prjFun (Fun f) = f&lt;br /&gt;
prjFun _      = error «bad function value»&lt;br /&gt;
&lt;br /&gt;
prjNum (Num n) = n&lt;br /&gt;
prjNum _      = error «bad numeric value»&lt;br /&gt;
&lt;br /&gt;
prjBool (Bool b) = b&lt;br /&gt;
prjBool _       = error «bad boolean value»&lt;br /&gt;
&lt;br /&gt;
binOp inj f = Fun (\i -&amp;gt; (Fun (\j -&amp;gt; inj (f (prjNum i) (prjNum j)))))&lt;br /&gt;
&lt;br /&gt;
type Env = [(Var, Value)]&lt;br /&gt;
&lt;br /&gt;
getval x env = case lookup x env of&lt;br /&gt;
                  Just v  -&amp;gt; v&lt;br /&gt;
                  Nothing -&amp;gt; error (&amp;quot;no value for &amp;quot; ++ x)&lt;br /&gt;
&lt;br /&gt;
eval env (Occ x) = getval x env&lt;br /&gt;
eval env (Use c) = getval c prims&lt;br /&gt;
eval env (Lit k) = Num k&lt;br /&gt;
eval env (App m n) = prjFun (eval env m) (eval env n)&lt;br /&gt;
eval env (Abs x m) = Fun (\v -&amp;gt; eval ((x, v) : env) m)&lt;br /&gt;
eval env (Rec x m) = f where f = eval ((x, f) : env) m&lt;br /&gt;
&lt;br /&gt;
times = binOp Num (*)&lt;br /&gt;
minus = binOp Num (-)&lt;br /&gt;
equal = binOp Bool (==)&lt;br /&gt;
cond = Fun (\b -&amp;gt; Fun (\x -&amp;gt; Fun (\y -&amp;gt; if (prjBool b) then x else y)))&lt;br /&gt;
&lt;br /&gt;
prims = [ («*», times), («-», minus), («==&amp;quot;, equal), (&amp;quot;if», cond) ]&lt;br /&gt;
&lt;br /&gt;
facTerm = Rec «f» (Abs «n»&lt;br /&gt;
              (App (App (App (Use &amp;quot;if&amp;quot;)&lt;br /&gt;
                   (App (App (Use &amp;quot;==&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 0))) (Lit 1))&lt;br /&gt;
                   (App (App (Use &amp;quot;*&amp;quot;)  (Occ &amp;quot;n&amp;quot;))&lt;br /&gt;
                        (App (Occ &amp;quot;f&amp;quot;)  &lt;br /&gt;
                             (App (App (Use &amp;quot;-&amp;quot;) (Occ &amp;quot;n&amp;quot;)) (Lit 1))))))&lt;br /&gt;
&lt;br /&gt;
fac n = prjNum (eval [] (App facTerm (Lit n)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Григорий Перельман - 4 уровень ===&lt;br /&gt;
&lt;br /&gt;
Высший Жрец. Постиг комонады и забивает стрелки (arrows) подорожникам.&lt;br /&gt;
&lt;br /&gt;
Пишет Великий Факториал как:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
— explicit type recursion with functors and catamorphisms&lt;br /&gt;
&lt;br /&gt;
newtype Mu f = In (f (Mu f))&lt;br /&gt;
&lt;br /&gt;
unIn (In x) = x&lt;br /&gt;
&lt;br /&gt;
cata phi = phi . fmap (cata phi) . unIn&lt;br /&gt;
&lt;br /&gt;
— base functor and data type for natural numbers,&lt;br /&gt;
— using locally-defined «eliminators»&lt;br /&gt;
&lt;br /&gt;
data N c = Z | S c&lt;br /&gt;
&lt;br /&gt;
instance Functor N where&lt;br /&gt;
  fmap g  Z    = Z&lt;br /&gt;
  fmap g (S x) = S (g x)&lt;br /&gt;
&lt;br /&gt;
type Nat = Mu N&lt;br /&gt;
&lt;br /&gt;
zero = In Z&lt;br /&gt;
suck n = In (S n)&lt;br /&gt;
&lt;br /&gt;
add m = cata phi where&lt;br /&gt;
  phi  Z    = m&lt;br /&gt;
  phi (S f) = suck f&lt;br /&gt;
&lt;br /&gt;
mult m = cata phi where&lt;br /&gt;
  phi  Z    = zero&lt;br /&gt;
  phi (S f) = add m f&lt;br /&gt;
&lt;br /&gt;
— explicit products and their functorial action&lt;br /&gt;
&lt;br /&gt;
data Prod e c = Pair c e&lt;br /&gt;
&lt;br /&gt;
outl (Pair x y) = x&lt;br /&gt;
outr (Pair x y) = y&lt;br /&gt;
&lt;br /&gt;
fork f g x = Pair (f x) (g x)&lt;br /&gt;
&lt;br /&gt;
instance Functor (Prod e) where&lt;br /&gt;
  fmap g = fork (g . outl) outr&lt;br /&gt;
&lt;br /&gt;
— comonads, the categorical «opposite» of monads&lt;br /&gt;
&lt;br /&gt;
class Functor n =&amp;gt; Comonad n where&lt;br /&gt;
  extr :: n a -&amp;gt; a&lt;br /&gt;
  dupl :: n a -&amp;gt; n (n a)&lt;br /&gt;
&lt;br /&gt;
instance Comonad (Prod e) where&lt;br /&gt;
  extr = outl&lt;br /&gt;
  dupl = fork id outr&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
gcata :: (Functor f, Comonad n) =&amp;gt;&lt;br /&gt;
           (forall a. f (n a) -&amp;gt; n (f a))&lt;br /&gt;
             -&amp;gt; (f (n c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
&lt;br /&gt;
gcata dist phi = extr . cata (fmap phi . dist . fmap dupl)&lt;br /&gt;
&lt;br /&gt;
zygo chi = gcata (fork (fmap outl) (chi . fmap outr))&lt;br /&gt;
&lt;br /&gt;
para :: Functor f =&amp;gt; (f (Prod (Mu f) c) -&amp;gt; c) -&amp;gt; Mu f -&amp;gt; c&lt;br /&gt;
para = zygo In&lt;br /&gt;
&lt;br /&gt;
fac = para phi where&lt;br /&gt;
  phi  Z             = suck zero&lt;br /&gt;
  phi (S (Pair f n)) = mult f (suck n)&lt;br /&gt;
&lt;br /&gt;
int = cata phi where&lt;br /&gt;
  phi  Z    = 0&lt;br /&gt;
  phi (S f) = 1 + f&lt;br /&gt;
&lt;br /&gt;
instance Show (Mu N) where&lt;br /&gt;
  show = show . int&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>217.21.40.13</name></author>
	</entry>
</feed>