<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Результаты поиска по запросу «[haskell]»]]></title>
    <link>https://habr.com/ru/</link>
    <description><![CDATA[Результаты поиска по запросу «[haskell]»]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Sat, 31 Oct 2026 04:36:58 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      
        
    

  

  

	
	<item>
		<title><![CDATA[Открыта регистрация участников на Международную конференцию по функциональному программированию]]></title>
    <guid isPermaLink="true">https://habr.com/ru/news/511030/</guid>
		<link>https://habr.com/ru/news/511030/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=511030</link>
		<description><![CDATA[<p><img src="https://habrastorage.org/webt/wx/rt/yy/wxrtyynfqyge5cyalxdnsmmdmwc.png"></p><br>
<p>ICFP 2020 — двадцать пятая конференция под эгидой ACM SIGPLAN. В этом году конференция будет проводиться онлайн, и все события, проходящие в её рамках, будут онлайн.</p><br>
<p><a href="https://icfpcontest2020.github.io/" rel="nofollow">Соревнование ICFP по программированию</a> будет проводиться с 17 июля по 20 июля 2020 года (то есть, уже через два дня). </p><br>
<p>Сама конференция будет проходить с 24 по 26 августа 2020, и укладываться в два тайм-слота. Первый слот будет проходить с 9:00 до 17:30 по времени Нью-Йорка, и будет включать как технические, так и социальные мероприятия. Второй тайм-слот будет проходить с 9:00 до 17:30 по Пекинскому времени, на следующий день, и будет с незначительными вариациями повторять содержимое предыдущего дня, включая технические и социальные мероприятия.</p> <a href="https://habr.com/ru/articles/511030/#habracut">Читать дальше &rarr;</a>]]></description>
		
		<pubDate>Wed, 15 Jul 2020 08:12:02 GMT</pubDate>
    <dc:creator><![CDATA[lockywolf]]></dc:creator>
		<category><![CDATA[Erlang/OTP]]></category><category><![CDATA[Haskell]]></category><category><![CDATA[Lisp]]></category><category><![CDATA[Конференции]]></category><category><![CDATA[Функциональное программирование]]></category>
		<category><![CDATA[haskell]]></category><category><![CDATA[erlang]]></category><category><![CDATA[scheme]]></category><category><![CDATA[lisp]]></category><category><![CDATA[minikanren]]></category><category><![CDATA[конференции]]></category><category><![CDATA[функциональное программирование]]></category><category><![CDATA[ml]]></category>
	</item>
	
  

  

  

    
    <item>
      <title><![CDATA[Нет, в Haskell неудобно обрабатывать ошибки (если не пользоваться эффектами)]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/709622/</guid>
      <link>https://habr.com/ru/articles/709622/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=709622</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/275/9ed/09b/2759ed09b4f440ea4097fca5b96eff68.png" /><p>Если вы когда-нибудь читали агитации, призывающие к изучению Haskell, наверняка вас убеждали, что в нём ну <em>очень</em> удобно обрабатывать ошибки, ведь там есть <em>Монада Either</em>.</p><p>Но это неправда. В хаскельных школах не рассказывают, как удобно(?) обрабатывать ошибки. А я расскажу.</p><p></p> <a href="https://habr.com/ru/articles/709622/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=709622#habracut">Обработать ошибки без регистрации и СМС</a>]]></description>
      
      <pubDate>Mon, 09 Jan 2023 14:51:55 GMT</pubDate>
      <dc:creator><![CDATA[goosedb]]></dc:creator>
      <category><![CDATA[Haskell]]></category>
      <category><![CDATA[Exceptions]]></category><category><![CDATA[Haskell]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Haskell. Монады. Монадные трансформеры. Игра в типы]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/315022/</guid>
      <link>https://habr.com/ru/articles/315022/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=315022</link>
      <description><![CDATA[<i>Еще одно введение в монады для совсем совсем начинающих.</i><br/>
<br/>
Лучший способ понять монады — это начать их использовать. Нужно забить на монадические законы, теорию категорий, и просто начать писать код. <br/>
<br/>
Написание кода на Haskell похоже на игру, в которой вы должны преобразовать объекты к нужному типу. Поэтому вам в первую очередь нужно понять правила этой игры. При написании кода вы должны четко понимать, какой тип имеет каждый конкретный кусок кода.<br/>
<br/>
С обычными функциями все понятно. Если имеется функция типа «a-&gt;b», то подставив в неё аргумент типа «a», вы получите результат типа «b». <br/>
<br/>
С монадами все не так очевидно. Под катом подробно расписано, как работать с do-конструкцией, как последовательно преобразуются типы, и зачем нужны монадные трансформеры. <br/>
 <a href="https://habr.com/ru/articles/315022/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=315022#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Fri, 03 Mar 2017 23:08:59 GMT</pubDate>
      <dc:creator><![CDATA[Tazman]]></dc:creator>
      <category><![CDATA[Haskell]]></category><category><![CDATA[Функциональное программирование]]></category>
      <category><![CDATA[Haskell]]></category><category><![CDATA[Монады]]></category><category><![CDATA[Монадные трансформеры]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Ваш язык программирования — отстой]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/315152/</guid>
      <link>https://habr.com/ru/articles/315152/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=315152</link>
      <description><![CDATA[<blockquote><a href="#0">1 Почему JavaScript отстой</a><br/>
<a href="#1">• 1.1 Плохая конструкция</a><br/>
<a href="#2">• 1.2 Система типов</a><br/>
<a href="#3">• 1.3 Плохие функции</a><br/>
<a href="#4">• 1.4 Отсутствующие функции</a><br/>
<a href="#5">• 1.5 DOM</a><br/>
<a href="#6">2 Почему Lua отстой</a><br/>
<a href="#7">3 Почему PHP отстой</a><br/>
<a href="#8">• 3.1 Исправлено в поддерживаемых в настоящее время версиях</a><br/>
<a href="#9">4 Почему Perl 5 отстой</a><br/>
<a href="#10">5 Почему Python отстой</a><br/>
<a href="#11">• 5.1 Исправлено в Python 3</a><br/>
<a href="#12">6 Почему Ruby отстой</a><br/>
<a href="#13">7 Почему Flex/ActionScript отстой</a><br/>
<a href="#14">8 Почему скриптовые языки отстой</a><br/>
<a href="#15">9 Почему C отстой</a><br/>
<a href="#16">10 Почему C++ отстой</a><br/>
<a href="#17">11 Почему .NET отстой</a><br/>
<a href="#18">12 Почему C# отстой</a><br/>
<a href="#19">13 Почему VB.NET отстой</a><br/>
<a href="#20">15 Почему Objective-C отстой</a><br/>
<a href="#21">16 Почему Java отстой</a><br/>
<a href="#22">• 16.1 Синтаксис</a><br/>
<a href="#23">• 16.2 Исправлено в Java 7 (2011)</a><br/>
<a href="#101">• 16.3 Модель</a><br/>
<a href="#24">• 16.4 Библиотека</a><br/>
<a href="#25">• 16.5 Обсуждение</a><br/>
<a href="#26">17 Почему Backbase отстой</a><br/>
<a href="#27">18 Почему XML отстой</a><br/>
<a href="#28">19 Почему отстой XSLT/XPath</a><br/>
<a href="#29">20 Почему CSS отстой</a><br/>
<a href="#30">• 20.1 Исправлено в CSS3</a><br/>
<a href="#31">21 Почему Scala отстой</a><br/>
<a href="#32">22 Почему Haskell отстой</a><br/>
<a href="#33">23 Почему Closure отстой</a><br/>
<a href="#34">24 Почему Go отстой</a><br/>
<a href="#36">• 24.1 Базовые средства программирования (базовый язык)</a><br/>
<a href="#37">• 24.2 Взаимосовместимость</a><br/>
<a href="#38">• 24.3 Стандартная библиотека</a><br/>
<a href="#39">• 24.4 Набор инструментальных средств</a><br/>
<a href="#40">• 24.5 Сообщество</a><br/>
<a href="#41">25 Почему Rust отстой</a><br/>
<a href="#42">• 25.1 Безопасность</a><br/>
<a href="#43">• 25.2 Синтаксис</a><br/>
<a href="#44">• 25.3 Конструкция API и система типов</a><br/>
<a href="#45">• 25.4 Сообщество</a><br/>
<a href="#46">• 25.5 Набор инструментальных средств</a></blockquote><br/>
<h4><a name="0"></a> Почему JavaScript отстой</h4><br/>
Учтите, что некоторые положения относятся не к самому JavaScript, а к программным интерфейсам веб-приложений (<a href="https://developer.mozilla.org/en/docs/Web/API">https://developer.mozilla.org/en/docs/Web/API</a>).<br/>
<br/>
<h5><a name="1"></a> Плохая конструкция</h5><br/>
• Каждый скрипт исполняется в едином глобальном пространстве имён, доступ в которое возможен в браузерах с оконным объектом.<br/>
• Camel-регистр никуда не годится:<br/>
<br/>
<code>XMLHttpRequest<br/>
HTMLHRElement</code><br/>
 <a href="https://habr.com/ru/articles/315152/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=315152#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 16 Nov 2016 18:40:49 GMT</pubDate>
      <dc:creator><![CDATA[LukinB]]></dc:creator>
      <category><![CDATA[C]]></category><category><![CDATA[Go]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[PHP]]></category><category><![CDATA[Ruby]]></category>
      <category>языки программирования</category><category>C</category><category>C++</category><category>C#</category><category>Go</category><category>Java</category><category>JavaScript</category><category>Lua</category><category>PHP</category><category>Perl</category><category>Pithon</category><category>Ruby</category><category>Rust</category><category>NET</category><category>VBA</category><category>Backbase</category><category>XML</category><category>CSS</category><category>Scala</category><category>Haskell</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Функциональные языки в разработке аппаратуры]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/316748/</guid>
      <link>https://habr.com/ru/articles/316748/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=316748</link>
      <description><![CDATA[<img height="30%" width="30%" src="https://habrastorage.org/getpro/habr/post_images/8ac/905/f32/8ac905f32d6903fc5e776604455b6577.png" align="left"/>Функциональные языки, как правило, не слишком подходят для низкоуровнеого программирования, хотя и применяются для кодогенерации. <br/>
<br/>
<div class="spoiler"><b class="spoiler_title">Примеры проектов</b><div class="spoiler_text">генерация безопасного кода на C (используется в лаборатории Касперского) <a href="http://ivorylang.org">Ivory</a>, поддержка <a href="https://github.com/frp-arduino/frp-arduino">реактивного программирования на Arduino</a>, и так далее <a href="https://github.com/tomahawkins/atom">Atom</a>, <a href="https://haskellembedded.github.io/">Ion</a></div></div><br/>
Но если спуститься еще ниже, на уровень аппаратуры, то неожиданно ФП оказывается очень кстати. Ведь блок комбитаторной логики не что иное, как функция из величин входящих сигналов в величины исходящих, а для последовательной логики достаточно добавить в параметры и результат старое и новое состояние.<br/>
 <a href="https://habr.com/ru/articles/316748/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=316748#habracut">так как же это работает</a>]]></description>
      
      <pubDate>Fri, 09 Dec 2016 17:10:35 GMT</pubDate>
      <dc:creator><![CDATA[potan]]></dc:creator>
      <category><![CDATA[FPGA]]></category><category><![CDATA[Haskell]]></category><category><![CDATA[Анализ и проектирование систем]]></category><category><![CDATA[Функциональное программирование]]></category>
      <category><![CDATA[HDL]]></category><category><![CDATA[Haskell]]></category><category><![CDATA[Functional HDL]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Дуальные числа в бизнесе или как оценить чувствительность решения к изменению начальных условий]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/222789/</guid>
      <link>https://habr.com/ru/articles/222789/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=222789</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/post_images/285/98a/c02/28598ac024b07e351f254f9d192730df.gif" align="right"/>За применение в бизнесе мнимых величин уже <a href="http://ru.wikipedia.org/wiki/Шнобелевская_премия#2002">дали премию</a>. Теперь интересно что-нибудь поиметь с <a href="http://ru.wikipedia.org/wiki/Дуальные_числа">дуальных</a>.<br/>
Дуальное число — это расширение поля действительных чисел (или любого другого, например комплексных) вида <b>a + εb</b>, где <b>a</b> и <b>b</b> — числа из исходного поля. При этом полагается, что <b>ε ε = 0</b>.<br/>
Оказывается, у таких странных чисел есть практическое приложение.<br/>
<br/>
Основным полезным свойством дуальных чисел является<br/>
<b>f(a + εb) = f(a) + εf'(a)b</b>.<br/>
Когда у нас есть формула для <b>f(x)</b>, получить производную <b>f'(x)</b> труда не составит. Но часто <b>f(x)</b> доступно только в виде алгоритма — например как решение специальным образом составленной системы линейных уравнений. Запустив алгоритм с исходными данными, в которые добавлена ε мы получим результат и значение производной по одному из параметров.<br/>
 <a href="https://habr.com/ru/articles/222789/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=222789#habracut">Немного матана с примерами на Haskell</a>]]></description>
      
      <pubDate>Wed, 14 May 2014 16:30:57 GMT</pubDate>
      <dc:creator><![CDATA[potan]]></dc:creator>
      <category><![CDATA[Haskell]]></category><category><![CDATA[Математика]]></category>
      <category><![CDATA[дуальные числа]]></category><category><![CDATA[Haskell]]></category><category><![CDATA[численные методы]]></category><category><![CDATA[классы типов]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[[Перевод] Средний доход разработчика в зависимости от языка программирования]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ambar/articles/194932/</guid>
      <link>https://habr.com/ru/companies/ambar/articles/194932/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=194932</link>
      <description><![CDATA[Добрый день, уважаемые читатели Хабра. Как часто вы смотрите за актуальностью той или иной платформы? Если вы хороший специалист, то, наверное, всегда. Если же нечасто – пожалуй, пора начать это делать. Мы подготовили перевод <a href="http://bpodgursky.wordpress.com/2013/08/21/average-income-per-programming-language/">исследования американского блогера Бена Подгурски (Ben Podgursky)</a>, позволяющего понять уровень оплаты программистов, в зависимости от языков программирования. Бен использовал в качестве источника данные пользователей на GitHub. Данный пост набрал большой рейтинг на Hacker News. <br/>
<br/>
<img src="https://habrastorage.org/getpro/habr/post_images/1c3/24c/79a/1c324c79ae5be616fd1eb3d58dd7ab16.png" alt="image"/><br/>
<br/>
Стереотипов о разработчиках различных языков очень много, но мне было любопытно, насколько они соответствуют действительности. <br/>
 <a href="https://habr.com/ru/articles/194932/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=194932#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Tue, 24 Sep 2013 03:32:28 GMT</pubDate>
      <dc:creator><![CDATA[itsybaev (Бизнес-ассоциация AmBAR)]]></dc:creator>
      <category><![CDATA[Блог компании Бизнес-ассоциация AmBAR]]></category><category><![CDATA[Программирование]]></category>
      <category><![CDATA[кремниевая долина]]></category><category><![CDATA[силиконовая долина]]></category><category><![CDATA[стартапы]]></category><category><![CDATA[США]]></category><category><![CDATA[обзор]]></category><category><![CDATA[зарплаты]]></category><category><![CDATA[С++]]></category><category><![CDATA[Java]]></category><category><![CDATA[вакансии]]></category><category><![CDATA[кадры]]></category><category><![CDATA[исследование]]></category><category><![CDATA[survey]]></category><category><![CDATA[salary]]></category><category><![CDATA[Scala]]></category><category><![CDATA[Erlang]]></category><category><![CDATA[PHP]]></category><category><![CDATA[Haskell]]></category><category><![CDATA[Clojure]]></category><category><![CDATA[Python]]></category><category><![CDATA[C#]]></category><category><![CDATA[CSS]]></category><category><![CDATA[Objective-C]]></category><category><![CDATA[языки программирования]]></category><category><![CDATA[статистика зарплат]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Мины в Haskell и Gloss: быстрое прототипирование интерактивной графики]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/249803/</guid>
      <link>https://habr.com/ru/articles/249803/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=249803</link>
      <description><![CDATA[На Хабрахабре есть уже немало хороших статей по хаскелю, но по большей части это всяческие введения в ФП, разъяснения каких-то теоретических штук (вроде монад, лямбда-исчисления или семейств типов) и совсем немного практических примеров. Ни в коем случае не умаляя их полезности, попробую всё-таки сместить дисбаланс, внести свою лепту в неблагодарное дело популяризации функциональщины и ещё раз показать, что язык пригоден не только для написания факториалов и неэффективных быстрых сортировок в две строчки, но и для вполне практичных вещей вроде быстрого прототипирования.<br>
<br>
Статья постарается быть относительно <i>real-world</i>, но при этом не утомлять читателя объёмом или экзотическими предметными областями. «Графика и игры в обучении — это всегда sexy», как завещал великий В. С. Луговский, поэтому я набросаю простую игру, всенародно любимый «Сапёр». Разработка будет вестись «сверху вниз» — это удручающе малораспространённая, но заслуживающая пристального внимания (как и сам хаскель) методология, которая когда-то давно встретилась в <a href="http://fprog.ru/2009/issue1/dmitry-astapov-checkers/" rel="nofollow noopener noreferrer">отличной статье о шашках</a> в <a href="http://fprog.ru" rel="nofollow noopener noreferrer">«Практике функционального программирования»</a>, и с тех пор запала в душу. <a href="https://habr.com/ru/articles/249803/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=249803#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Thu, 05 Feb 2015 13:12:27 GMT</pubDate>
      <dc:creator><![CDATA[Yuuri]]></dc:creator>
      <category><![CDATA[Haskell]]></category>
      <category><![CDATA[ФП]]></category><category><![CDATA[Haskell]]></category><category><![CDATA[Gloss]]></category><category><![CDATA[Сапёр]]></category><category><![CDATA[Minesweeper]]></category><category><![CDATA[top-down]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Арифметика с контролем диапазонов в Haskell с помощью Type-Level Literals]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/253157/</guid>
      <link>https://habr.com/ru/articles/253157/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=253157</link>
      <description><![CDATA[Функциональное программирование (ФП), как известно, способствует написанию надёжного (безошибочного) кода.<br/>
 <br/>
Ясно, что это максима. Программ без ошибок не бывает. Однако ФП в сочетании со строгой статической типизацией и развитостью системы типов позволяет, в значительной степени, выявлять неизбежные ошибки программиста ещё на стадии компиляции. Я говорю о Haskell, хотя, наверное, к OCaml это тоже относится. <br/>
<br/>
Однако если мы зададимся целью написания надёжного кода, то немедленно обнаружим, что возможности Haskell тут не безграничны. Не всё, что существует для этой цели (построения безопасного кода) в других языках легко реализуется на Haskell. Хорошо бы меня тут поправили, но, увы.<br/>
 <a href="https://habr.com/ru/articles/253157/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=253157#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Mon, 16 Mar 2015 07:47:41 GMT</pubDate>
      <dc:creator><![CDATA[KolodeznyDiver]]></dc:creator>
      <category><![CDATA[Haskell]]></category>
      <category><![CDATA[Haskell]]></category><category><![CDATA[Type-Level Literals]]></category><category><![CDATA[range validation]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Развитие пользовательских типов данных в программировании]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/184558/</guid>
      <link>https://habr.com/ru/articles/184558/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=184558</link>
      <description><![CDATA[Хотелось бы остановиться и посмотреть на развитие языков программирования с точки зрения развития пользовательских типов данных (ПТД).<br/>
Сразу хочу оговориться, под пользователями понимаются программисты, как люди, пишущие код на этих языках. Ну, и те, кто этот код сопровождает или просто читает.<br/>
<br/>
Пользовательские типы данных — это типы данных, которые могут быть созданы пользователем на основе того, что доступно в языке.<br/>
<img src="https://habrastorage.org/storage2/f7f/aae/2b8/f7faae2b85b54ca93457509e06cc131a.jpg"/><br/>
<i>Пользователи желают иметь примерно такие типы данных</i><br/>
<br/>
Пользователи хотели иметь возможность составлять данные так, как они сами того хотят. Хотели, хотят, и наверняка будут хотеть. Всё больше, всё разнообразней и сильнее.<br/>
Именно поэтому полезно проследить за развитием пользовательских типов данных в программах и языках программирования.<br/>
 <a href="https://habr.com/ru/articles/184558/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=184558#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 26 Jun 2013 05:14:37 GMT</pubDate>
      <dc:creator><![CDATA[Vitter]]></dc:creator>
      <category><![CDATA[Программирование]]></category><category><![CDATA[ООП]]></category><category><![CDATA[Функциональное программирование]]></category>
      <category><![CDATA[программирование]]></category><category><![CDATA[Fortran]]></category><category><![CDATA[Lisp]]></category><category><![CDATA[C]]></category><category><![CDATA[C++]]></category><category><![CDATA[Perl]]></category><category><![CDATA[OСaml]]></category><category><![CDATA[Haskell]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Первый высокоуровневый язык программирования для квантовых компьютеров]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/185936/</guid>
      <link>https://habr.com/ru/articles/185936/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=185936</link>
      <description><![CDATA[<img src="https://habrastorage.org/storage2/3f4/d79/6e4/3f4d796e448069d882f9d0839eaa63cd.jpg" align="right"/>Хотя квантовые компьютеры существуют пока только в теории, но это не мешает делать обоснованные предположения об их будущей архитектуре и, что более важно, об интерфейсе взаимодействия с ними. Таким образом, уже сейчас есть возможность проектировать программные симуляторы квантовых компьютеров — и писать софт. <br/>
<br/>
Группа американских учёных, получив финансирование от исследовательского центра Национальной разведки США (<a href="http://www.iarpa.gov/">IARPA</a>) разработала высокоуровневый язык программирования <a href="http://arxiv.org/abs/1304.3390">Quipper</a>. Он создан на основе Haskell и <a href="http://habrastorage.org/storage2/0c9/040/2b4/0c90402b45e05b59c4c58c87de6c37d3.png">лучше подходит</a> для реализации квантовых алгоритмов, чем QCL (основан на C).<br/>
<br/>
На сегодняшний день известно как минимум <a href="http://math.nist.gov/quantum/zoo/">45 алгоритмов для квантовых компьютеров</a>. Все они описаны в научных статьях, но ни один не был реализован в программном коде. С появлением Quipper появилась такая возможность. В дальнейшем программисты смогут просто использовать готовые библиотеки для квантовых компьютеров, как они это делают сейчас на высокоуровневых языках для классической архитектуры.<br/>
 <a href="https://habr.com/ru/articles/185936/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=185936#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Mon, 08 Jul 2013 10:26:49 GMT</pubDate>
      <dc:creator><![CDATA[alizar]]></dc:creator>
      <category><![CDATA[Программирование]]></category><category><![CDATA[Алгоритмы]]></category><category><![CDATA[Haskell]]></category>
      <category><![CDATA[Quipper]]></category><category><![CDATA[QCL]]></category><category><![CDATA[Haskell]]></category><category><![CDATA[Фортран]]></category><category><![CDATA[квантовый компьютер]]></category><category><![CDATA[квантовая физика]]></category><category><![CDATA[кубит]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Интервью с Одри Тан, часть 1]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/runity/articles/268911/</guid>
      <link>https://habr.com/ru/companies/runity/articles/268911/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=268911</link>
      <description><![CDATA[<img src="https://habrastorage.org/files/721/dc4/bc5/721dc4bc5a864cbe8bafc94a8fa606a1.png"/><br/>
<br/>
<i>Одри Тан в первую очередь известна как создатель и разработчик <b>Pugs</b>, Perl 6 User’s Golfing System, реализации Perl 6 на Haskell, которая появилась 1 февраля 2005 года и была наиболее активно разрабатываемой и наиболее полной реализацией на то время.</i><br/>
 <a href="https://habr.com/ru/articles/268911/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=268911#habracut">Читать интервью</a>]]></description>
      
      <pubDate>Wed, 28 Oct 2015 11:20:31 GMT</pubDate>
      <dc:creator><![CDATA[TimurN (Рунити)]]></dc:creator>
      <category><![CDATA[Блог компании Рунити]]></category><category><![CDATA[Haskell]]></category><category><![CDATA[Perl]]></category><category><![CDATA[Компиляторы]]></category><category><![CDATA[Программирование]]></category>
      <category>Perl</category><category>Perl 6</category><category>Haskell</category><category>Audrey Tang</category><category>perlhist.com</category>
    </item>
  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Parallelism vs Concurrency: правильно подбираем инструменты]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/piter/articles/274569/</guid>
      <link>https://habr.com/ru/companies/piter/articles/274569/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=274569</link>
      <description><![CDATA[Здравствуйте, уважаемые хабровчане! Мы решили возобновить публикации еще до окончания больших праздников, но в сегодняшней статье все-таки раскрыта тема справедливой раздачи подарков. Сама же статья, как понятно из названия, посвящена сравнительному анализу параллелизма и конкурентности. <br/>
<br/>
 <a href="https://habr.com/ru/articles/274569/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=274569#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Tue, 05 Jan 2016 18:10:44 GMT</pubDate>
      <dc:creator><![CDATA[ph_piter (Издательский дом «Питер»)]]></dc:creator>
      <category><![CDATA[Блог компании Издательский дом «Питер»]]></category><category><![CDATA[Erlang/OTP]]></category><category><![CDATA[Высоконагруженные системы]]></category><category><![CDATA[Параллельное программирование]]></category>
      <category>parallelism</category><category>concurrency</category><category>Go</category><category>Rust</category><category>Haskell</category><category>STM</category><category>производительность</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Монада ContT в картинках (Haskell)]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/149174/</guid>
      <link>https://habr.com/ru/articles/149174/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=149174</link>
      <description><![CDATA[На хабре уже были статьи про <a href="http://habrahabr.ru/post/127040/">продолжения и монаду ContT</a>. Я решил поделиться своим пониманием этого вопроса и снабдить его соответствующими иллюстрациями. В отличие от приведенной выше статьи, мне бы хотелось больше внимания уделить внутреннему устройству монады <i>ContT</i> и разобраться, как же она работает.<br/>
 <a href="https://habr.com/ru/articles/149174/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=149174#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Thu, 09 Aug 2012 21:09:31 GMT</pubDate>
      <dc:creator><![CDATA[Tazman]]></dc:creator>
      <category><![CDATA[Haskell]]></category><category><![CDATA[Программирование]]></category>
      <category><![CDATA[Haskell]]></category><category><![CDATA[ContT]]></category><category><![CDATA[монада]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Динамические мат. функции в C++]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/149450/</guid>
      <link>https://habr.com/ru/articles/149450/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=149450</link>
      <description><![CDATA[Здравствуйте, Хабраюзеры.<br/>
Недавно я прочитал здесь <a href="http://habrahabr.ru/post/66021/">статью</a> об анонимных функциях в С++, и тут же у меня в голове возникла мысль: нужно срочно написать класс для работы с функциями, которые нам знакомы из математики. А именно, принимающими вещественный аргумент и возвращающими вещественное же значение. Нужно дать возможность обращаться с такими объектами максимально просто, не задумываясь о реализации.<br/>
И вот, как я это реализовал.<br/>
 <a href="https://habr.com/ru/articles/149450/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=149450#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Sun, 12 Aug 2012 08:47:35 GMT</pubDate>
      <dc:creator><![CDATA[Sayonji]]></dc:creator>
      <category><![CDATA[C++]]></category><category><![CDATA[Haskell]]></category>
      <category><![CDATA[C++]]></category><category><![CDATA[анонимные функции]]></category><category><![CDATA[Haskell]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Основы]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/50310/</guid>
      <link>https://habr.com/ru/articles/50310/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=50310</link>
      <description><![CDATA[Сегодня я постараюсь рассказать самые основы, такие, как базовые типы данных, типы функций, ФВП, списки (в том числе и бесконечные).<br>
<br>
Последующие статьи:<br>
<a href="http://habrahabr.ru/blogs/Haskell/50600/">Типы данных, паттерн матчинг и функции</a><br>
<a href="http://habrahabr.ru/blogs/Haskell/51046/">Классы типов, монады</a><br> <a href="https://habr.com/ru/articles/50310/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=50310#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Mon, 26 Jan 2009 15:54:09 GMT</pubDate>
      <dc:creator><![CDATA[VoidEx]]></dc:creator>
      <category><![CDATA[Haskell]]></category>
      <category><![CDATA[Haskell]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Решение японских кроссвордов на Haskell]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/151819/</guid>
      <link>https://habr.com/ru/articles/151819/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=151819</link>
      <description><![CDATA[Японский кроссворд — головоломка, в которой по набору чисел нужно воссоздать исходное черно-белое изображение. Каждой строке и каждому столбцу пикселей соответствует свой набор, каждое число в котором, в свою очередь, соответствует длине блока подряд идущих черных пикселей. Между такими блоками должен быть хотя бы один белый пиксель, но точное их число неизвестно. Журналы, целиком посвященные этим головоломкам, есть в большинстве газетных киосков, так что, думаю, почти все с ними хоть раз да встречались, и потому <a href="http://ru.wikipedia.org/wiki/%D0%AF%D0%BF%D0%BE%D0%BD%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D1%80%D0%BE%D1%81%D1%81%D0%B2%D0%BE%D1%80%D0%B4">более подробное описание</a> здесь можно не приводить.<br/>
<br/>
В какой-то момент мне захотелось «научить компьютер» решать японские кроссворды так, как решаю их я сам. Никакой высокой цели, just for fun. Потом уже были добавлены способы, которые сам я применять не могу в силу ограниченных возможностей человеческого мозга, но, справедливости ради, со всеми кроссвордами из журналов программа справляется и без них.<br/>
<br/>
Итак, задача простая: решить кроссворд, а если решений много, то найти их все. Решение написано на Haskell'е, и, хотя код достаточно существенно дополняет словесное описание, даже без знания языка общую суть понять можно. Если хочется пощупать результат вживую, на <a href="http://code.google.com/p/jc-solver/">странице пректа</a> можно скачать исходники (бинарных сборок не выкладывал). Решения экспортируются в Binary PBM, из него же можно извлекать условия.<br/>
<br/>
<img src="https://habrastorage.org/storage2/c55/d43/65a/c55d4365aac6ddfd8c0fa6a31b6ca7df.png"/><br/>
<br/>
Несмотря на то, что я пытался писать максимально понятно, это не в полной мере мне удалось. Под катом очень много букв и кода и почти нет картинок.<br/>
 <a href="https://habr.com/ru/articles/151819/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=151819#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 19 Sep 2012 19:58:45 GMT</pubDate>
      <dc:creator><![CDATA[bodhisattva]]></dc:creator>
      <category><![CDATA[Haskell]]></category>
      <category><![CDATA[Haskell]]></category><category><![CDATA[японский кроссворд]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Две простенькие задачи на Haskell (для начинающих)]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/159127/</guid>
      <link>https://habr.com/ru/articles/159127/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=159127</link>
      <description><![CDATA[Приветствую всех пользователей Хабрахабр!<br/>
Я недавно начал изучать Haskell, и, немного освоив его, решил поделиться небольшим накопленным опытом. Конечно же, знания Haskell у меня не на таком уровне как у <a href="https://habrahabr.ru/users/darkus/" class="user_link">Darkus</a>, поэтому две задачи, которые описаны ниже, ориентированны больше на новичков, но опытные пользователи возможно и поправят, и подскажут как лучше сделать. Эта не только моя первая статья на Хабрахабр, но и вообще мой первый туториал, который я когда-либо писал.<br/>
 <a href="https://habr.com/ru/articles/159127/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=159127#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Sun, 18 Nov 2012 11:31:01 GMT</pubDate>
      <dc:creator><![CDATA[IvanP]]></dc:creator>
      <category><![CDATA[Haskell]]></category>
      <category><![CDATA[Haskell]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Какие языки программирования популярны поздно вечером]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/327026/</guid>
      <link>https://habr.com/ru/articles/327026/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=327026</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/post_images/2ec/cac/f21/2eccacf216b0ed4da2950d0297dada12.png"/><br/>
<br/>
Stack Overflow опубликовал очередную <a href="https://stackoverflow.blog/2017/04/19/programming-languages-used-late-night/">подборку интересной статистики</a> о языках программирования и привычках разработчиков. На этот раз они соотнесли статистику визитов на сайт по времени суток и языковые теги вопросов по этим визитам. Получилась интересная картина. Оказывается, некоторые языки более популярны в рабочее время (например, C# и JavaScript), а у других доля заметно растёт вечером (С, Python). Как будто программисты вечером возвращаются домой и занимаются, наконец, любимым делом.<br/>
 <a href="https://habr.com/ru/articles/327026/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=327026#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Thu, 20 Apr 2017 17:18:34 GMT</pubDate>
      <dc:creator><![CDATA[alizar]]></dc:creator>
      <category><![CDATA[Исследования и прогнозы в IT]]></category>
      <category><![CDATA[Haskell]]></category><category><![CDATA[C#]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[C]]></category><category><![CDATA[Python]]></category><category><![CDATA[Москва]]></category><category><![CDATA[Киев]]></category><category><![CDATA[Stack Overflow]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Принцип «Разделяй и властвуй», а также бесконечные потоки в Haskell]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/162657/</guid>
      <link>https://habr.com/ru/articles/162657/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=162657</link>
      <description><![CDATA[Приветствую всех читателей!<br/>
Ниже идет моя точка зрения того, как я понял главу 14 из слайдов курса по Haskell у нас в университете.<br/>
Итак, сегодня мы поговорим о следующих двух темах:<ul>
<li> Принцип «Разделяй и властвуй»</li>
<li> Работа с бесконеными потоками</li>
</ul><br/>
 Экспертов в этой области прошу комментировать и поправлять, если будут неточности. Буду рад ответить на вопросы в комментариях.<br/>
 <a href="https://habr.com/ru/articles/162657/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=162657#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Fri, 14 Dec 2012 19:06:29 GMT</pubDate>
      <dc:creator><![CDATA[IvanP]]></dc:creator>
      <category><![CDATA[Haskell]]></category><category><![CDATA[Алгоритмы]]></category>
      <category><![CDATA[Haskell]]></category><category><![CDATA[divide and conquer]]></category><category><![CDATA[бесконечные потоки]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
