<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=Haskell</id>
	<title>Haskell - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://t8.lbstr.eu/index.php?action=history&amp;feed=atom&amp;title=Haskell"/>
	<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=Haskell&amp;action=history"/>
	<updated>2026-11-03T00:30:27Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://t8.lbstr.eu/index.php?title=Haskell&amp;diff=2251&amp;oldid=prev</id>
		<title>imported&gt;Anonim2281337: /* Хаскель, чаны и все-все-все */  добавлена информация про движки имиджборд</title>
		<link rel="alternate" type="text/html" href="https://t8.lbstr.eu/index.php?title=Haskell&amp;diff=2251&amp;oldid=prev"/>
		<updated>2020-11-27T07:27:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Хаскель, чаны и все-все-все: &lt;/span&gt;  добавлена информация про движки имиджборд&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{locked|anon}}&lt;br /&gt;
&lt;br /&gt;
{{Q|Хаскель — это как ламборджини в деревне. Немного подрочил — и пошел работать на тракторе.|[[Луговский#Xenocephal|Ксеноцефал]]}}&lt;br /&gt;
{{MorphFile&lt;br /&gt;
|1312 v1.png|[[Xkcd|Истинная причина надежности]]&lt;br /&gt;
|Nerd-46422.jpg|Типичный программист на Haskell&lt;br /&gt;
|Z150 03.jpg|Ещё один {{Lj user|thesz|типичный программист|911142|1}} на Haskell}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Haskell&amp;#039;&amp;#039;&amp;#039; — функциональный декларативный язык [[Программист|программирования]], первая версия которого была стандартизирована в 1990 году, назван в честь математика Хаскелла Карри. Язык Haskell известен благодаря синтаксису, в сравнении с которым [[пёрл]] выглядит псевдокодом, а также необходимостью глубокого понимания лямбда-исчисления, замыканий, теории графов, теории категорий, [[сопромат]]а, анатомии мозга и прочего [[матан]]а даже для вывода на экран строки «[[Hello, World!]]»&lt;br /&gt;
&lt;br /&gt;
== История ==&lt;br /&gt;
&lt;br /&gt;
В 1958 году был изобретён первый функциональный язык программирования — [[Лисп]]. К 80-м годам прошлого века функциональных языков стало очень много. Каждый [[задрот]] считал своим долгом изобрести свой. И вот однажды, в 1987 году было решено создать язык, который бы включал лучшие достижения из всех языков программирования. Собрался специальный комитет из отборнейших [[задрот]]ов и без лишнего шума создали его. Предшественниками хаскеля были ML, SML, Miranda. Кроме того туда добавили немного лиспа, пролога, [[матан]]а и ещё чего-то там. Что касается названия, то однажды во время пьянки задроты просто взяли и выбрали общим голосованием «хаскель» из 25 [[рандом]]ных слов. [http://research.microsoft.com/en-us/um/people/simonpj/papers/history-of-haskell/history.pdf Читай @ просвещайся].&lt;br /&gt;
&lt;br /&gt;
== Хаскель, чаны и все-все-все ==&lt;br /&gt;
&lt;br /&gt;
[[Файл:Cmp.jpg|thumb|Наглядная демонстрация мощи языка]]&lt;br /&gt;
Хаскель и [[лисп]] — популярные и постоянные мемы в /[[s]]/ и /prog/. Как это сочетается с большой популярностью хаскеля в очень узкой академической среде — [[Всем похуй|не ясно]].&lt;br /&gt;
&lt;br /&gt;
Также на Хаскеле пишут [https://github.com/ahushh/monaba движки для имиджборд].&lt;br /&gt;
&lt;br /&gt;
== Востребованность ==&lt;br /&gt;
&lt;br /&gt;
Как и положено в таких вещах, ярость отдельных сторонников языка обратно пропорциональна его востребованности на рынке. Согласно проведенным с участием авторитетных анонимусов исследованиям, в мире на данный момент насчитывается [http://www.haskell.org/haskellwiki/Jobs около 8] реальных вакансий для программистов на хаскеле. В остальных случаях знание хаскеля рассматривается, как правило, как незначительный плюс.&lt;br /&gt;
&lt;br /&gt;
Не будем забывать, что хаскель наиболее активно разрабатывается в недрах Microsoft Research. Nuff Said. Обыдленный хаске…[[^W]] ML под названием F# включен в Visual Studio 2010, а это значит, что скоро знание хаскеля будет как минимум преимуществом при поступлении на работу.&lt;br /&gt;
&lt;br /&gt;
== Примеры кода на Haskell ==&lt;br /&gt;
Так на haskell пишут [[перл]]овцы:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
 import Random;import List;import Char;p=putStrLn;u=uncurry;f x=(x\\).(x\\)&lt;br /&gt;
 main=mapM(\x-&amp;gt;randomRIO(49,54))[1..4]&amp;gt;&amp;gt;=n 0.map chr&amp;gt;&amp;gt;=p.(&amp;quot;Tries: &amp;quot;++).show&lt;br /&gt;
 e=((partition$u(==)).).zip;h(p,q)=[&amp;#039;*&amp;#039;|x&amp;lt;-p]++[&amp;#039;+&amp;#039;|x&amp;lt;-(u f)$unzip q]&lt;br /&gt;
 n a s=getLine&amp;gt;&amp;gt;=m where{m i|i==s=return a;m i=p(h$e i s)&amp;gt;&amp;gt;n(a+1)s}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Hello world]]:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
main :: IO ()&lt;br /&gt;
main = putStrLn &amp;quot;Hello, world!&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Для олдфагов:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
{-# OPTIONS_GHC -fno-warn-type-defaults #-}&lt;br /&gt;
{-# LANGUAGE ExtendedDefaultRules, OverloadedStrings #-}&lt;br /&gt;
module Hello where&lt;br /&gt;
import Language.BASIC&lt;br /&gt;
&lt;br /&gt;
main :: IO ()&lt;br /&gt;
main = runBASIC $ do&lt;br /&gt;
&lt;br /&gt;
    10 PRINT &amp;quot;Hello BASIC World!&amp;quot; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Вычисление факториала:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
fac n = product [1..n]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
А так его пишут [[нуб]]ы:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
fac n = if n == 1 then 1 else (fac n-1) * n&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Так — продвинутые нубы:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
fac 1 = 1&lt;br /&gt;
fac n = fac (n-1) * n&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Любители [[матан]]а:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
s f g x = f x (g x)&lt;br /&gt;
k x y = x&lt;br /&gt;
b f g x = f (g x)&lt;br /&gt;
c f g x = f x g&lt;br /&gt;
y f = f (y f)&lt;br /&gt;
cond p f g x = if p x then f x else g x&lt;br /&gt;
fac = y (b (cond ((==) 0) (k 1)) (b (s (*)) (c b pred)))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
[http://www.willamette.edu/~fruehr/haskell/evolution.html Ну и так далее].&lt;br /&gt;
&lt;br /&gt;
А это программа на Haskell, которая выводит программу на [[Python]], которая выводит программу на [[Ruby]], которая выводит исходную программу на Haskell.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;haskell&amp;quot;&amp;gt;&lt;br /&gt;
q a b c=putStrLn $ b ++ [toEnum 10,&amp;#039;q&amp;#039;,&amp;#039;(&amp;#039;] ++ show b ++ [&amp;#039;,&amp;#039;] ++ show c ++ [&amp;#039;,&amp;#039;] ++ show a ++ [&amp;#039;)&amp;#039;]&lt;br /&gt;
main=q &amp;quot;q a b c=putStrLn $ b ++ [toEnum 10,&amp;#039;q&amp;#039;,&amp;#039;(&amp;#039;] ++ show b ++ [&amp;#039;,&amp;#039;] ++ show c ++ [&amp;#039;,&amp;#039;] ++ show a ++ [&amp;#039;)&amp;#039;]&amp;quot; &amp;quot;def q(a,b,c):print b+chr(10)+&amp;#039;q(&amp;#039;+repr(b)+&amp;#039;,&amp;#039;+repr(c)+&amp;#039;,&amp;#039;+repr(a)+&amp;#039;)&amp;#039;&amp;quot; &amp;quot;def e(x) return 34.chr+x+34.chr end;def q(a,b,c) print b+10.chr+&amp;#039;main=q &amp;#039;+e(b)+&amp;#039; &amp;#039;+e(c)+&amp;#039; &amp;#039;+e(a)+&amp;#039; &amp;#039;+10.chr end&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Языки программирования}}&lt;br /&gt;
&lt;br /&gt;
[[ae:Haskell]]&lt;br /&gt;
[[urban:Haskell]]&lt;br /&gt;
[[en.w:Haskell]]&lt;br /&gt;
[[de.w:Haskell]]&lt;br /&gt;
[[w:Haskell]]&lt;br /&gt;
[[uk.w:Haskell]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Anonim2281337</name></author>
	</entry>
</feed>