<?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=78.31.74.225</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=78.31.74.225"/>
	<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/78.31.74.225"/>
	<updated>2026-06-30T17:28:11Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84995</id>
		<title>Haskell</title>
		<link rel="alternate" type="text/html" href="https://absurdopedia.wiki/w/index.php?title=Haskell&amp;diff=84995"/>
		<updated>2008-12-19T20:44:08Z</updated>

		<summary type="html">&lt;p&gt;78.31.74.225: теперь пример работает&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ambox|image=[[image:StopCpp.gif|50px]]|&lt;br /&gt;
text=&#039;&#039;&#039;ВНИМАНИЕ!&#039;&#039;&#039;|&lt;br /&gt;
text-small=Для понимания данного материала ваш моск должен быть очищен от императивного мировоззрения путем&lt;br /&gt;
продолжительных медитаций с бубном. Для полного же понимания божественной сущности языка Haskell, ваш моск должен&lt;br /&gt;
быть функционально чист. Возможно, имеет смысл обратиться к [[Ктулху]].&lt;br /&gt;
}}&lt;br /&gt;
{{wikipedia}}&lt;br /&gt;
{{q|&amp;lt;nowiki&amp;gt;sequence_ $ [&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;= (\x -&amp;gt; [print x])&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;
* В языке Haskell Вечность (незавершаемая программа) - это разновидность [[Жопа|Жопы (_|_)]], что доказывает его [[Труъ]]-происхождение&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;
 flip flip snd . (ap .) . flip flip fst . ((.) .) . flip . (((.) . (,)) .)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Считается, что в будущем безбашенный Haskell-стиль по количеству скобок обгонит [[Лисп]], что приведет к зохавыванию последнего Haskell’ом и переделу [[Матрица|Матрицы]] (которая, как известно, есть самоpaзродившаяся программа на [[Лисп|Лиспе]]). [[Столлман]] с этим несогласен, но его мнение было отправлено фтопку еще во время создания 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;x) 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;br /&gt;
&lt;br /&gt;
[[en:Haskell]]&lt;/div&gt;</summary>
		<author><name>78.31.74.225</name></author>
	</entry>
</feed>