<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр:  Метки / fsharp</title>
	<link>http://habrahabr.ru/rss/tag/fsharp/</link>
	<description><![CDATA[]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Fri, 10 Feb 2012 20:21:02 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	
			
		<item>		
			<title><![CDATA[Microsoft / Чудесное новогоднее поздравление — v.2012 (feat.MSP)]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/microsoft/135580/</guid>
			<link>http://habrahabr.ru/blogs/microsoft/135580/</link>			
			<description><![CDATA[Дорогие друзья, коллеги, хабрапользователи!<br/>
<br/>
В какун Нового года хочу поздравить вас с праздником в форме видео-обращения с кусочками микромагии. Также вместе со мной вас поздравляют некоторые мои друзья и студенты-партнёры Майкрософт. Поскольку я тоже много говорю про Майкрософт, думаю, будем уместно сделать это в соответствующем блоге!<br/>
<br/>
С НОВЫМ ГОДОМ!<br/>
<br/>
<iframe width="560" height="349" src="http://www.youtube.com/embed/aG8BMH1k_co" frameborder="0" allowfullscreen></iframe><br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/microsoft/135580/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sat, 31 Dec 2011 14:34:53 GMT</pubDate>
			<author>shwars</author>
			<category>happy new year</category><category>msp</category><category>fsharp</category><category>functional programming</category><category>magic</category>
		</item>
		
		
		
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[.NET / [Перевод] Machete — скриптовая среда для .Net]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/net/125277/</guid>
			<link>http://habrahabr.ru/blogs/net/125277/</link>
			<description><![CDATA[В попытке побороть моё стремление к совершенству, я решил открыть исходники моего долгосрочного проекта Machete для всеобщего просмотра. Machete — это мой собственный диалект стандарта ECMAScript 5 или, как его чаще называют, JavaScript.<br/>
<br/>
<h5>Основные возможности</h5><br/>
<h6>Более понятные лямбда-выражения</h6><br/>
<pre><code class="javascript">var succinct = \(x, y) x + y;
var verbose = function (x, y) { return x + y; };</code></pre><br/>
<br/>
<h6>Поддержка итерации с помощью цикла foreach и генераторов</h6><br/>
<pre><code class="cs">var numbers = generator {
    yield 1;
    yield 2;
    yield 3;
};

foreach (var n in numbers) {
    Output.write(n);
}   

foreach (var e in [&quot;Array&quot;, &quot; objects&quot;, &quot; are&quot;, &quot; iterable&quot;, &quot;!&quot;]) {
    Output.write(e);
} 

foreach (var ch in &quot;Strings are iterable!&quot;) {
    Output.write(ch);
}
</code></pre><br/>
<h5>Реализация</h5><br/>
<ul>
<li>компилятор написан на языке F# с использованием библиотеки <a href="https://bitbucket.org/fparsec/main/overview">FParsec</a></li>
<li>исполняющая среда написана на языке C# и находится под управлением .NET</li>
<li>в настоящее время имеется более 400 тестов, и еще множество разрабатывается</li>
</ul><br/>
<br/>
Machete — это продукт нескольких лет исследований, проектирования и программирования. Я разместил его на GitHub, так что пожалуйста, заходите и форкайте проект. Я бы очень хотел увеличить количество тестов и тесты от сообщества были бы неоценимы.<br/>
<br/>
Ссылка на репозиторий: <a href="https://github.com/ChaosPandion/Machete">GitHub Repository For Machete</a>]]></description>
			
			<pubDate>Sat, 30 Jul 2011 11:03:27 GMT</pubDate>
			<author>InTRUEdeR</author>
			<category>.net</category><category>fsharp</category><category>csharp</category>
		</item>
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Программирование / 10 «однострочников», которые произведут впечатление на ваших друзей]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/programming/120665/</guid>
			<link>http://habrahabr.ru/blogs/programming/120665/</link>			
			<description><![CDATA[За последнюю неделю появилось несколько топиков с названием «10 однострочников на &lt;MY_LANGUAGE&gt;, которые произведут впечатление на ваших друзей», которые содержат однострочное решение нескольких простых задач, демонстрирующее достоинства и «крутость» любимого языка программирования автора. Я решил перевести их и для сравнения собрать в одном топике. Вся волна началась (вроде как) со Scala. <br/>
Итак, поехали!<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/programming/120665/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Mon, 06 Jun 2011 07:25:35 GMT</pubDate>
			<author>Amper</author>
			<category>scala</category><category>ruby</category><category>fsharp</category><category>coffeescript</category><category>clojure</category><category>python</category><category>csharp</category><category>haskell</category><category>однострочники</category><category>10</category><category>42</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Microsoft / Microsoft Press ищет авторов для написания книги по F#]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/microsoft/117866/</guid>
			<link>http://habrahabr.ru/blogs/microsoft/117866/</link>			
			<description><![CDATA[Редактор Microsoft Press Devon Musgrave в своем Твиттере сегодня <a href="http://twitter.com/#!/MicrosoftPress/status/60747851940106241">опубликовал сообщение</a>, о том, что издательство ищет авторов для написания книги по F#.<br/>
<br/>
Насколько я понял, Microsoft Press заинтересован в «пошаговом руководстве по F # для тех, кто уже знаком с программированием».]]></description>
			
			<pubDate>Wed, 20 Apr 2011 22:19:00 GMT</pubDate>
			<author>alexbozhko</author>
			<category>microsoft</category><category>microsoft press</category><category>fsharp</category><category>f</category><category>авторы</category><category>книга</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[.NET / Введение в F#, the blue pill]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/net/116904/</guid>
			<link>http://habrahabr.ru/blogs/net/116904/</link>			
			<description><![CDATA[<a href="http://habrahabr.ru/blogs/net/116666/">[<b>Предыдущий пост</b>]</a><br/>
<h4>Введение</h4><br/>
<img src="http://t1.gstatic.com/images?q=tbn:ANd9GcThZSyhC328NSTxS5_XWnDRerYBpJzxIQ3HWkZlQu0RY-dZkbUiie9Rjrg" alt="image"/><br/>
Вот и ожидаемое, или не очень, продолжение. Сегодня мы проглотим синюю пилюлю, гордо олицетворяющую FP (functional programming), и погрузимся в функциональную часть F# еще глубже. Поговорим о функциях, рекурсии, pattern matching'е и еще о нескольких интересных вещах. Интересно? Тогда глотаем таблетку и начинаем погружение.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/net/116904/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 05 Apr 2011 17:08:12 GMT</pubDate>
			<author>kernelmode</author>
			<category>FSharp</category><category>.net</category><category>программирование</category><category>функциональное программирование</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[.NET / F#: Во что превращается ваш код после компиляции]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/net/115727/</guid>
			<link>http://habrahabr.ru/blogs/net/115727/</link>			
			<description><![CDATA[Язык F# появился в стандартной поставке VisualStudio совсем недавно, а именно с версии 2010 (на данный момент самой что ни на есть актуальной). Естественно, и все это прекрасно знают, язык функционирует на основе CLR — весь ваш код будет скомпилирован в MS IL как и любой другой язык .NET семейства.<br/>
<br/>
Давайте на примере часто используемой и полезной техники «меморизация» посмотрим во что превращает ваш код компилятор. Для наглядности я буду писать сам код на F# и декомпилировать его в C#.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/net/115727/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 18 Mar 2011 08:03:44 GMT</pubDate>
			<author>Lattyf</author>
			<category>FSharp</category><category>мемоизация</category><category>меморизация</category>
		</item>
		
		
		
		
		
		
		
		
	
		
		
		
			
		<item>		
			<title><![CDATA[.NET / [Перевод] Выпущено Mono 2.10 – F# в комплекте]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/net/114541/</guid>
			<link>http://habrahabr.ru/blogs/net/114541/</link>
			<description><![CDATA[Выпущено Mono 2.10. Теперь Mono включает в себя F#, подробнее см. <a href="http://www.mono-project.com/Release_Notes_Mono_2.10#Languages">здесь</a>.<br/>
<br/>
Основные изменения:<br/>
<ul>
<li><a href="http://www.mono-project.com/Release_Notes_Mono_2.10#Google_Native_Client_Support">Поддержка Google Native Client</a></li>
<li><a href="http://www.mono-project.com/Release_Notes_Mono_2.10#New_Mono_Profiler">Новый движок профайлера</a></li>
<li><a href="http://www.mono-project.com/Release_Notes_Mono_2.10#Improved_Socket_and_Async_Stack">Более быстрый стек сокетов</a></li>
<li>Улучшенный Parallel Framework</li>
<li><a href="http://www.mono-project.com/Release_Notes_Mono_2.10#SGen_Garbage_Collector">Точное сканирование стека и множество улучшений производительности в SGen</a>.</li>
<li>Унифицированая поддержка времени выполнения MonoTouch/Monodroid</li>
<li><a href="http://www.mono-project.com/Release_Notes_Mono_2.10#Cecil.2FLight">Cecil/Light</a></li>
<li><a href="http://www.mono-project.com/Release_Notes_Mono_2.10#New_C.23_Compiler_Backend">Новый бекенд компилятора C# Compiler (можно использовать собственную mscorlib)</a></li>
<li><a href="http://www.mono-project.com/Release_Notes_Mono_2.10#VB_Compiler">Компилятор VB</a> теперь может компилировать в оба профиля: 2.0 и 4.0.</li>
<li><a href="http://www.mono-project.com/Release_Notes_Mono_2.10#ASP.NET_MVC3_Support">Поддержка ASP.NET MVC3</a>, Razor и новые WebPages.</li>
<li>Новый API баз данных <a href="http://www.mono-project.com/Release_Notes_Mono_2.10#WebMatrix.Data">WebMatrix.Data</a></li>
<li><a href="http://www.mono-project.com/Release_Notes_Mono_2.10#OSX_Updates">Улучшения в Mono для OSX</a></li>
<li><a href="http://www.mono-project.com/Release_Notes_Mono_2.10#Languages">F# и IronRuby</a></li>
</ul>]]></description>
			
			<pubDate>Sat, 26 Feb 2011 13:22:43 GMT</pubDate>
			<author>ApeCoder</author>
			<category>Mono</category><category>fsharp</category><category>ironruby</category><category>google native client</category><category>asp.net mvc 3</category>
		</item>
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[.NET / tryfsharp.org — Microsoft выпустил бета версию сайта для онлайн изучения F#]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/net/114017/</guid>
			<link>http://habrahabr.ru/blogs/net/114017/</link>			
			<description><![CDATA[На <a href="http://www.tryfsharp.org/">сайте</a> есть написанный на Silverlight редактор кода c подсветкой синтаксиса и небольшой учебник по F#<br/>
<br/>
<a title="Хабрэффект.ру" href="http://habrastorage.org/storage/habraeffect/ad/48/ad48d5b8ed4de47857f8015c26182e17.png"><img src="http://habrastorage.org/storage/habraeffect/ad/48/ad48d5b8ed4de47857f8015c26182e17.png"/></a><br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/net/114017/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 18 Feb 2011 05:59:07 GMT</pubDate>
			<author>ApeCoder</author>
			<category>fsharp</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Open source / Опубликованы исходные коды F# 2.0 под лицензией Apache 2.0]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/open_source/107609/</guid>
			<link>http://habrahabr.ru/blogs/open_source/107609/</link>			
			<description><![CDATA[Компания Microsoft опубликовала сегодня исходные коды компилятора <a href="http://en.wikipedia.org/wiki/F_Sharp_programming_language">F#</a> 2.0 и набора других инструментов для этого языка под названием F# PowerPack.<br/>
<br/>
Новая версия F# 2.0 была выпущена в апреле 2010 года. Спецификация языка доступна по <a href="http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/manual/spec.pdf">этой ссылке</a> (.pdf, 3 Мб). В августе 2010 было выпущено <a href="http://blogs.msdn.com/b/dsyme/archive/2010/08/17/announcing-the-f-2-0-free-tools-for-net-4-0.aspx">важное обновление</a> второй версии компилятора.<br/>
<br/>
В ходе конференции PDC10 был сделан доклад по поводу будущего языка F#. Посмотреть его <a href="http://player.microsoftpdc.com/Session/04092962-4ed1-42c6-be07-203d42115274">можно здесь</a>.<br/>
<br/>
Загрузить инструменты F# или получить дополнительную информацию можно на официальном сайте <a href="http://www.fsharp.net/">fsharp.net</a>. Разработчикам будет полезен блог <a href="http://blogs.msdn.com/b/dsyme/">Don Syme's WebLog on F# and Related Topics</a>. <br/>
<br/>
Загрузить исходные коды компилятора и набора инструментов можно с <a href="http://fsharppowerpack.codeplex.com/SourceControl/list/changesets">этой страницы</a> на codeplex.com.]]></description>
			
			<pubDate>Fri, 05 Nov 2010 08:29:57 GMT</pubDate>
			<author>XaocCPS</author>
			<category>Fsharp</category><category>apache license</category><category>microsoft</category><category>open source</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[.NET / Что нам готовит PDC10?]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/net/106583/</guid>
			<link>http://habrahabr.ru/blogs/net/106583/</link>			
			<description><![CDATA[<img alt="image" src="http://habrastorage.org/storage/habraeffect/87/e4/87e4c103c8fc8c6dfcaaae8441ef9e81.png"/> <br/>
<br/>
PDC10 — крупнейшая конференция Microsoft начнется уже через неделю 28 октября. Самое время строить догадки и предположения о том, что нового может представить Microsoft для разработчиков.<br/>
<br/>
Пищу для домыслов может дать недавнее обновление программы конференции на сайте <a href="http://player.microsoftpdc.com/">http://player.microsoftpdc.com/</a>. В ней появились следующие интересные позиции:<br/>
<br/>
<img alt="image" src="http://habrastorage.org/storage/habraeffect/12/f9/12f98030f6124f80391750b8da97652d.png"/>  <img alt="image" src="http://habrastorage.org/storage/habraeffect/11/9f/119fec1b9af4f23da83d55dac0de27be.png"/> <br/>
<br/>
Не остается сомнений, что на PDC расскажут про следующие версии C#, Visual Basic и F#. Пока не ясно будет ли обновление языков проходить вместе с обновлением самой платформы .NET. Я склонен считать, что обновления CLR не будет, нововведения в языки будут введены под индексом .NET 4.1/4.5, но не 5.0.<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/net/106583/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Thu, 21 Oct 2010 03:33:24 GMT</pubDate>
			<author>XaocCPS</author>
			<category>microsoft</category><category>.net</category><category>csharp</category><category>fsharp</category><category>silverlight</category><category>windows azure</category><category>pdc10</category><category>конференции</category>
		</item>
		
		
		
		
		
		
		
		
	
		
		
			
		<item>		
			<title><![CDATA[Подкасты / [PODCAST] 20й Подкаст Петербургской Группы Alt.Net]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/hpodcasts/102997/</guid>
			<link>http://habrahabr.ru/blogs/hpodcasts/102997/</link>
			<description><![CDATA[<h1>Spbalt.net Unplugged</h1><h2>Участники</h2><img src="http://spbalt.net/Content/spbalt.net.jpg" align="right"/><ul>
<li>Дмитрий Нестерук (<a href="http://nesteruk.wordpress.com">блог</a>, <a href="http://twitter.com/dnesteruk">twitter</a>) </li>
<li>Антон Оникийчук (<a href="http://cspodcast.posterous.com/" title="http://cspodcast.posterous.com/">подкасты</a>)</li>
</ul><h2>Что обсуждали</h2><ul>
<li>Плюсы и .Net: <a href="http://spbalt.net/Content/Anton_Onikiychuk_ManagedCpp.pdf" title="http://spbalt.net/Content/Anton_Onikiychuk_ManagedCpp.pdf">Managed C++</a>, P/Invoke (<a href="http://bitbucket.org/nesteruk/typografix" title="http://bitbucket.org/nesteruk/typografix">пример</a>), COM interop, <a href="http://www.slideshare.net/DmitriNesteruk/unmanaged-parallelization-via-pinvoke" title="http://www.slideshare.net/DmitriNesteruk/unmanaged-parallelization-via-pinvoke">SIMD/OpenMP</a> </li>
<li>ФП в .Net: <a href="http://nesteruk.wordpress.com/2010/08/27/manning-dotnet-book-review/" title="http://nesteruk.wordpress.com/2010/08/27/manning-dotnet-book-review/">real-world FP</a>, F#, C# <a href="http://www.gotdotnet.ru/blogs/nesteruk/6975/" title="http://www.gotdotnet.ru/blogs/nesteruk/6975/">monads</a>/<a href="http://nesteruk.wordpress.com/2010/03/22/extension-method-patterns/" title="http://nesteruk.wordpress.com/2010/03/22/extension-method-patterns/">fluent syntax</a></li>
<li>ФП за пределами .Net: Lisp, <a href="http://www.erlang.org/" title="http://www.erlang.org/">Erlang</a>, <a href="http://www.haskell.org/" title="http://www.haskell.org/">Haskell</a></li>
</ul>Наш подкаст на <a href="http://spbaltnet.podfm.ru/" title="http://spbaltnet.podfm.ru/">POD.FM</a> (<a href="http://spbaltnet.podfm.ru/rss/" title="http://spbaltnet.podfm.ru/rss/">RSS</a>)]]></description>
			
			<pubDate>Mon, 30 Aug 2010 06:38:43 GMT</pubDate>
			<author>mezastel</author>
			<enclosure url="http://spbaltnet.podfm.ru/my/24/download/spbalt.net.20.mp3" type="audio/mpeg" />
			<category>spbalt.net</category><category>cplusplus</category><category>dotnet</category><category>csharp</category><category>fsharp</category><category>функциональное программирование</category>
		</item>
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[.NET / Асинхронное программирование — цепочки вызовов]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/net/71625/</guid>
			<link>http://habrahabr.ru/blogs/net/71625/</link>			
			<description><![CDATA[Когда в коде фигурирует пара вызовов <code>BeginXxx()/EndXxx()</code>, это приемлимо. Но что если алгоритм требует несколько таких вызовов подряд, то количество методов (или анонимных делегатов) преумножится и код станет менее читабельным. К счастью, эта проблема решена как в F# так и в C#.<br/>
<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/net/71625/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 06 Oct 2009 07:47:01 GMT</pubDate>
			<author>mezastel</author>
			<category>dotnet</category><category>csharp</category><category>c</category><category>f</category><category>fsharp</category><category>async</category><category>asyncenumerator</category><category>workflow</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[.NET / Создание DSL на языке F#]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/net/68313/</guid>
			<link>http://habrahabr.ru/blogs/net/68313/</link>			
			<description><![CDATA[Хочу представить сообществу перевод моей статьи на CodeProject, в которой я описываю процесс создания DSLей с использованием языка F#.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/net/68313/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Sat, 29 Aug 2009 17:31:04 GMT</pubDate>
			<author>mezastel</author>
			<category>dsl</category><category>fsharp</category><category>f</category><category>.net</category><category>project</category><category>automation</category><category>estimation</category><category>management</category><category>domain-specific languages</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Персональные блоги / Вышел майский CTP компилятора F#]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/personal/60107/</guid>
			<link>http://habrahabr.ru/blogs/personal/60107/</link>			
			<description><![CDATA[А так же он включен VS2010 beta 1<br/>
<br/>
В блоге Дона Сайма <a href="http://blogs.msdn.com/dsyme/archive/2009/05/20/visual-studio-2010-beta1-with-f-is-now-available-plus-matching-f-ctp-update-for-vs2008.aspx">анонс</a> и <a href="http://blogs.msdn.com/dsyme/archive/2009/05/20/detailed-release-notes-for-the-f-may-2009-ctp-update-and-visual-studio-2010-beta1-releases.aspx">список изменений</a>. <br/>
<br/>
Основные изменения — масса мелких удобство и подгонка под .NET 4.0. И наконец-то #light по умолчанию. Старые сборки несовмсестимы бинарно с новым компилятором — придется перекомпилировать.]]></description>
			
			<pubDate>Thu, 21 May 2009 02:46:48 GMT</pubDate>
			<author>ApeCoder</author>
			<category>fsharp</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[.NET / Катаморфизм в F#]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/net/57503/</guid>
			<link>http://habrahabr.ru/blogs/net/57503/</link>			
			<description><![CDATA[<h3>Введение</h3><br/>
Упомяну сразу, данная статья написана по мотивам целой серии постов в отличном блоге <a href="http://lorgonblog.spaces.live.com">Inside F#</a>. Тем не менее она не является переводом в чистом виде, а скорее вольным изложением, чтобы доступным языком объяснить — что же за зверь такой, катаморфизм, и с чем его едят. Слово это думаю не очень на слуху, чего стоит хотя бы тот факт, что статьи по нему нет в русской википедии (и вообще ни в одной национальной, кроме почему-то голландской. Наверно ФП как-то соответсвует духу травокурения)<br/>
Итак, строго говоря, <a href="http://en.wikipedia.org/wiki/Catamorphism">катаморфизм</a> в функциональном программировании — это обобщение свертки списков, которые (как я уже <a href="http://habrahabr.ru/blogs/programming/55272/">рассказывал</a>) являются специфическим типом размеченного объединения, на произвольные размеченные объединения.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/net/57503/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Fri, 17 Apr 2009 06:51:02 GMT</pubDate>
			<author>Meroving</author>
			<category>fsharp</category><category>функциональное программирование</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Персональные блоги / F#: очень красивый пример с использованием DirectX]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/personal/57056/</guid>
			<link>http://habrahabr.ru/blogs/personal/57056/</link>			
			<description><![CDATA[Хотел сделать ссылкой, но текст не влазит в 500 символов…<br/>
Итак, F# — это новый язык в линейке .NET, язык функционального программирования. Сошников Д.В. на <a href="http://platforma2009.ru/materials/showitem.aspx?MID=77110d82-f458-4231-a6ba-441b0dac6478">platforma2009</a> в конце доклада показывает очень интересный и красивый пример использования F#, строя графики функций (зависящих и от времени!) и запуская по поверхностям графиков катающиеся шарики. <br/>
<a href="http://pics.livejournal.com/outcoldman/pic/0000fr4s/"><img src="http://pics.livejournal.com/outcoldman/pic/0000fr4s/s320x240"/></a><br/>
Пример этот можно взять <a href="http://cs.hubfs.net/forums/thread/95.aspx">тут</a>, единственное, что нужно немного подшливовать его под текущую версию F# CTP 1.9.6.2.<br/>
<div class="habracut"> <a class="habracut" href="http://outcoldman.habrahabr.ru/blog/57056/#habracut">шлифовка и ссылки...</a> </div>]]></description>
			
			<pubDate>Sun, 12 Apr 2009 07:18:58 GMT</pubDate>
			<author>outcoldman</author>
			<category>fsharp</category><category>функциональное программирование</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Персональные блоги / F# на практике]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/personal/56004/</guid>
			<link>http://habrahabr.ru/blogs/personal/56004/</link>			
			<description><![CDATA[<h4>Введение</h4><br/>
Пожалуй два наиболее часто задаваемых (следовательно, животрепещущих) вопроса в комментариях к <a href="http://habrahabr.ru/blogs/programming/55272/">моей обзорной статье о F#</a> были следующие:<br/>
1. Почему он так похож на OCaml?<br/>
2. На кой черт он вообще сдался?<br/>
Ответ на первый вопрос не представляет особой сложности — он так похож на OCaml, потому что сделан целиком и полностью на его основе. Хорошо это или плохо? Да скорее хорошо, это явно лучше, чем придумывать совершенно новый синтаксис, который еще не известно, насколько будет хорош. Плюс к тому, по OCaml достаточно много документации, так что даже на первых порах проблем с (само)обучением быть не должно.<br/>
Со вторым вопросом разобраться куда сложнее, особенно сейчас, когда язык пребывает в состоянии беты и является пока что лишь объектом изучения излишне любознательных программистов. Однако несмотря на довольно краткое с ним знакомство, мне уже довелось разок применить его для достижения вполне прагматических целей, о чем и поведаю в этом небольшом посте.<br/>
Заранее оговорюсь, конечно же, не последнее, что побудило меня решать поставленную задачу именно на F# — желание попрактиковаться в новом языке. Конечно же, программу можно было написать и на C#, и возможно она получилась бы ненамного длиннее (повторюсь, возможно, я не проверял). Так или иначе, программа была написана, и дело свое сделала.<br/>
<div class="habracut"> <a class="habracut" href="http://Meroving.habrahabr.ru/blog/56004/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 31 Mar 2009 10:57:43 GMT</pubDate>
			<author>Meroving</author>
			<category>fsharp</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Программирование / Влюбляемся в F#: Доза 2: Строим фрактальное изображение, или множество Мандельброта своими руками!]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/programming/53626/</guid>
			<link>http://habrahabr.ru/blogs/programming/53626/</link>			
			<description><![CDATA[На прошлом уроке мы рассмотрели основные понятия функционального программирования, теперь давайте попробуем применить их на практике. Поскольку функциональное программирование, как вы наверное поняли, идеально подходит для решения математических задач, то рассмотрим именно такую задачу — построение изображения множества Мандельброта, самого известного фрактального множества.<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/starting_programming/53626/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Thu, 05 Mar 2009 11:45:04 GMT</pubDate>
			<author>shwars</author>
			<category>fsharp</category><category>функциональное программирование</category><category>functional programming</category><category>fractals</category><category>mandelbrot set</category><category>множество Мандельброта</category><category>graphics</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Программирование / Влюбляемся в F#: Доза 1: Дух функционального программирования]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/programming/51607/</guid>
			<link>http://habrahabr.ru/blogs/programming/51607/</link>			
			<description><![CDATA[Дорогие Хабраколлеги!<br/>
<br/>
Наконец-то я приступаю к некоторому изложению идей функционального программирования вместе с основами языка F#. Сегодня нам нужно будет сделать самое главное – понять основные принципы функционального программирования и проникнуться его духом. Заранее прошу прощения у тех гуру-функциональщиков, кто ждет более содержательных уроков – но мне хотелось начать с начала. Соответственно, для начала, история из жизни:<br/>
<blockquote><em>Когда я был молодым и преподавал программирование на первом курсе факультета Прикладной математики МАИ, один из студентов никак не мог понять, что значит X:=X+1. “Как же так, как X может быть равен X+1?”. Мне пришлось объяснить ему, как такое возможно, и в этот момент в нем умер функциональный программист…</em></blockquote><br/>
Почему? Давайте разберемся. <div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/starting_programming/51607/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 10 Feb 2009 12:53:50 GMT</pubDate>
			<author>shwars</author>
			<category>fsharp</category><category>functional programming</category><category>programming lessons</category><category>microsoft</category>
		</item>
		
		
		
		
		
		
		
		
	
			
		<item>		
			<title><![CDATA[Программирование / Влюбляемся в F#: Доза 0: Зачем нужен ещё один язык программирования?]]></title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/programming/50967/</guid>
			<link>http://habrahabr.ru/blogs/programming/50967/</link>			
			<description><![CDATA[Дорогие Хабраколлеги!<br/>
<br/>
Хочу предложить вашему вниманию возможность приобщиться еще к одному языку программирования: F#. Идея писать такого рода заметки возникла из жизни — по роду своей деятельности мне приходится рассказывать про F#, и когда меня спрашивают, где можно попродробнее прочитать об этом языке — приходится ссылаться на англоязычные ресурсы. Поэтому я решил потихоньку рассказывать про F# <a href="http://blogs.msdn.com/sos">в своем блоге</a>, а теперь еще и на хабре, увидев замечательное сообщество стартап-программист. Поскольку F# — очень красивый язык, который никого не оставит равнодушным — я решил озаглавить цикл статей &quot;<b>влюбляемся в F#</b>&quot;, а каждую из статей называть &quot;<b>дозой</b>&quot;: по окончании их употребления вы должны будете подсесть на F#, а я буду мучительно эксплуатировать ваше терпение, делая вынужденные (из-за недостатка времени) перерывы между дозами.<br/>
<br/>
Недавно <a href="http://blogs.msdn.com/dsyme/archive/2008/12/10/fsharp-to-ship-as-part-of-visual-studio-2010.aspx">было объявлено</a>, что в составе стандартной поставки Visual Studio 2010 появится, помимо Visual Basic и C#,&nbsp; ещё один язык программирования: <a href="http://ru.wikipedia.org/wiki/F_Sharp">F#</a>. Это, как можно догадаться по названию, язык преимущественно <a href="http://ru.wikipedia.org/wiki/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5">функционального программирования</a>, берущий своё начало в языках <a href="http://ru.wikipedia.org/wiki/OCaml">OCaml</a>, ML и т.д. Хотя кто-то мог ошибочно догадаться, что это реализация Fortran для .NET :)<br/>
<br/>
Почему “преимущественно функционального”? Потому, что это также и объектно-ориентированный язык, прекрасно интегрирующийся с платформой .NET, и немножно императивный. Можно рассматривать F# как полноценное пришествие функционального программирования на платформу .NET (в смысле его индустриальной доступности), а можно и как еще один .NET-язык с множеством “причуд” и со странным, но очень компактным синтаксисом. Судите сами, вот как записывается на F# <a href="http://ru.wikipedia.org/wiki/Quicksort">быстрая сортировка Хоара</a> (для сравнения посмотрите, как выглядят алгоритмы, записанные на C или Pascal, <a href="http://ru.wikipedia.org/wiki/Quicksort">по ссылке</a>):<br/>
<br/>
<code><pre>
let rec quicksort = function
  [] -&gt; []
  | h::t -&gt; quicksort ([ for x in t when x&lt;=h -&gt; x]) 
            @ [h] @ quicksort ([ for x in t when x&gt;h -&gt; x]);;
</pre></code><br/>
<br/>
Зачем же Майкрософт начал в последние несколько лет вкладывать усилия в функциональный язык, да еще и ставить его в один ряд с “основными” языками платформы .NET? Ведь <a href="http://homepages.inf.ed.ac.uk/wadler/papers/how-and-why/how-and-why.pdf">известно</a>, что функциональное программирование не слишком используется в индустиальном программировании!<br/>
<div class="habracut"> <a class="habracut" href="http://habrahabr.ru/blogs/starting_programming/50967/#habracut">Читать дальше &rarr;</a> </div>]]></description>
			
			<pubDate>Tue, 03 Feb 2009 12:23:20 GMT</pubDate>
			<author>shwars</author>
			<category>F</category><category>функциональное программирование</category><category>fsharp</category>
		</item>
		
		
		
		
		
		
		
		
	
	
	
	
	
	
	
	

	
</channel>
</rss>

