<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ramon Snir on F#</title>
	<atom:link href="http://ramon.org.il/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://ramon.org.il/wp</link>
	<description></description>
	<lastBuildDate>Mon, 05 Dec 2011 21:19:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Text-based Macro System for F#</title>
		<link>http://ramon.org.il/wp/2011/12/text-based-macro-system-for-f/</link>
		<comments>http://ramon.org.il/wp/2011/12/text-based-macro-system-for-f/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 14:54:50 +0000</pubDate>
		<dc:creator>Ramon Snir</dc:creator>
				<category><![CDATA[Default]]></category>

		<guid isPermaLink="false">http://ramon.org.il/wp/?p=86</guid>
		<description><![CDATA[One feature I’ve seen repeatedly people wishing is a macro system, so I went ahead and tweaked the compiler to add a text-based macro system. I’m warning here and now: this is only a prototype, it is imperfect and definitely incomplete. The current version uses in-place text replacement on compilation time, using precompiled macros (functions [...]]]></description>
		<wfw:commentRss>http://ramon.org.il/wp/2011/12/text-based-macro-system-for-f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Lazync Computation Expressions</title>
		<link>http://ramon.org.il/wp/2011/08/lazync-computation-expression/</link>
		<comments>http://ramon.org.il/wp/2011/08/lazync-computation-expression/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 17:31:03 +0000</pubDate>
		<dc:creator>Ramon Snir</dc:creator>
				<category><![CDATA[Default]]></category>

		<guid isPermaLink="false">http://ramon.org.il/wp/?p=67</guid>
		<description><![CDATA[There is lately quite a lot of fuss over C# 5.0, caused by the new async features. The C# async feature is based on (or was inspired by) the F#’s Async computation expression, which I will now discuss a bit (and then present my improvement). Usually, async code works in to ways – sequential (wait [...]]]></description>
		<wfw:commentRss>http://ramon.org.il/wp/2011/08/lazync-computation-expression/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Taking Computation Expressions one step further</title>
		<link>http://ramon.org.il/wp/2011/04/taking-computation-expressions-one-step-further/</link>
		<comments>http://ramon.org.il/wp/2011/04/taking-computation-expressions-one-step-further/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 10:35:16 +0000</pubDate>
		<dc:creator>Ramon Snir</dc:creator>
				<category><![CDATA[Default]]></category>

		<guid isPermaLink="false">http://ramon.org.il/wp/?p=45</guid>
		<description><![CDATA[In this article, I will present an extension to the F# compiler (I used November 2010 CTP from the F# PowerPack site). I was inspired by two things. The first was an old attempt to create a computation builder for XML/HTML objects, which wasn’t very successful because of the lack of options in computation expressions [...]]]></description>
		<wfw:commentRss>http://ramon.org.il/wp/2011/04/taking-computation-expressions-one-step-further/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Implementing Haskell classes in F#</title>
		<link>http://ramon.org.il/wp/2010/10/implementing-haskell-classes-in-f/</link>
		<comments>http://ramon.org.il/wp/2010/10/implementing-haskell-classes-in-f/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 09:31:32 +0000</pubDate>
		<dc:creator>Ramon Snir</dc:creator>
				<category><![CDATA[Default]]></category>

		<guid isPermaLink="false">http://ramon.org.il/wp/?p=33</guid>
		<description><![CDATA[Haskell got a nice system of classes. Though the name reminds us of the OOP term, these &#8220;classes&#8221; are very different in their use. Here is an example for people who are not familiar with Haskell classes: Ideally, our F# code would look like: Without editing the compiler (I am going to consider writing an [...]]]></description>
		<wfw:commentRss>http://ramon.org.il/wp/2010/10/implementing-haskell-classes-in-f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Being responsible when using tail recursion and exceptions</title>
		<link>http://ramon.org.il/wp/2010/10/being-responsible-when-using-tail-recursion-and-exceptions/</link>
		<comments>http://ramon.org.il/wp/2010/10/being-responsible-when-using-tail-recursion-and-exceptions/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 19:04:57 +0000</pubDate>
		<dc:creator>Ramon Snir</dc:creator>
				<category><![CDATA[Default]]></category>

		<guid isPermaLink="false">http://ramon.org.il/wp/?p=22</guid>
		<description><![CDATA[One very popular habit in F# is tail recursion. Tail recursion allows you to recurse without worrying about stack overflow. But there is a very dangerous problem – infinite recursion. Now, let&#8217;s say we have a function which doesn&#8217;t have a name which indicates it might fail (with StackOverflowException, InfiniteRecursionException, ArgumentOutOfRangeException etc.). An innocent reader [...]]]></description>
		<wfw:commentRss>http://ramon.org.il/wp/2010/10/being-responsible-when-using-tail-recursion-and-exceptions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The IO Monad for F#</title>
		<link>http://ramon.org.il/wp/2010/10/the-io-monad-for-f/</link>
		<comments>http://ramon.org.il/wp/2010/10/the-io-monad-for-f/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 18:43:18 +0000</pubDate>
		<dc:creator>Ramon Snir</dc:creator>
				<category><![CDATA[Default]]></category>

		<guid isPermaLink="false">http://ramon.org.il/wp/?p=18</guid>
		<description><![CDATA[If you have any experience in Haskell, you know the IO monad. Some people think it just makes things ugly – but I think it is good, since we are functional programming and we should know when we are using an impure function. What we will do is to define an IO&#60;&#8217;T&#62; type and an [...]]]></description>
		<wfw:commentRss>http://ramon.org.il/wp/2010/10/the-io-monad-for-f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>F# and WPF/XAML</title>
		<link>http://ramon.org.il/wp/2010/10/f-and-wpfxaml/</link>
		<comments>http://ramon.org.il/wp/2010/10/f-and-wpfxaml/#comments</comments>
		<pubDate>Sat, 09 Oct 2010 17:54:08 +0000</pubDate>
		<dc:creator>Ramon Snir</dc:creator>
				<category><![CDATA[Default]]></category>

		<guid isPermaLink="false">http://ramon.org.il/wp/?p=6</guid>
		<description><![CDATA[F# is a great language, but its support is a bit limited. For example, you can make a WPF project in F# but you cannot use XAML. In this post I will demonstrate how to create a simple calculator using F#, WPF and XAML. I did not compare the efficiency to the C# version, but I&#8217;m quite [...]]]></description>
		<wfw:commentRss>http://ramon.org.il/wp/2010/10/f-and-wpfxaml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

