<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments for valerio.net</title>
	<atom:link href="http://thevalerios.net/matt/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://thevalerios.net/matt</link>
	<description>Just another WordPress weblog</description>
	<pubDate>Tue, 06 Jan 2009 19:34:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>Comment on Control.InvokeRequired, DelegateMarshaler and Anonymous Methods by ISynchronizeInvoke &#171; Little Plastic Squares</title>
		<link>http://thevalerios.net/matt/2008/07/controlinvokerequired-delegatemarshaler-and-anonymous-methods/#comment-5367</link>
		<dc:creator>ISynchronizeInvoke &#171; Little Plastic Squares</dc:creator>
		<pubDate>Tue, 06 Jan 2009 16:43:06 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/2008/07/controlinvokerequired-delegatemarshaler-and-anonymous-methods/#comment-5367</guid>
		<description>[...] long story short: I found this cool thing that lets you use C# 3&#8217;s lambdas to describe the work you want to do on the GUI thread.     [...]</description>
		<content:encoded><![CDATA[<p>[...] long story short: I found this cool thing that lets you use C# 3&#8217;s lambdas to describe the work you want to do on the GUI thread.     [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Recursion in F# and the Tail Recursion Police by Brian McNamara</title>
		<link>http://thevalerios.net/matt/2009/01/recursion-in-f-and-the-tail-recursion-police/#comment-5337</link>
		<dc:creator>Brian McNamara</dc:creator>
		<pubDate>Mon, 05 Jan 2009 18:58:38 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/2009/01/recursion-in-f-and-the-tail-recursion-police/#comment-5337</guid>
		<description>Regarding the .tail opcode, the F# compiler will turn directly recursive functions into loops, as you saw, but indirect recursion (e.g. where function 'f' tailcalls 'g' and function 'g' tailcalls 'f') will use the .tail opcode, if you're curious to Reflector-find it.  In general all tail calls that may create recursion turn into .tail opcodes, except direct calls to the currently running function, which are instead translated into while loops.</description>
		<content:encoded><![CDATA[<p>Regarding the .tail opcode, the F# compiler will turn directly recursive functions into loops, as you saw, but indirect recursion (e.g. where function &#8216;f&#8217; tailcalls &#8216;g&#8217; and function &#8216;g&#8217; tailcalls &#8216;f&#8217;) will use the .tail opcode, if you&#8217;re curious to Reflector-find it.  In general all tail calls that may create recursion turn into .tail opcodes, except direct calls to the currently running function, which are instead translated into while loops.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Assembly Information for F# Libraries by valerio.net &#187; Blog Archive &#187; Assembly Information for F# Console Applications</title>
		<link>http://thevalerios.net/matt/2009/01/assembly-information-for-f-libraries/#comment-5313</link>
		<dc:creator>valerio.net &#187; Blog Archive &#187; Assembly Information for F# Console Applications</dc:creator>
		<pubDate>Sun, 04 Jan 2009 23:19:02 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/2009/01/assembly-information-for-f-libraries/#comment-5313</guid>
		<description>[...] Assembly Information for F# Libraries  [...]</description>
		<content:encoded><![CDATA[<p>[...] Assembly Information for F# Libraries  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Queued BackgroundWorker Using Generic Delegates by Tom</title>
		<link>http://thevalerios.net/matt/2008/05/a-queued-backgroundworker/#comment-4486</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Tue, 16 Dec 2008 19:32:43 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/?p=27#comment-4486</guid>
		<description>Hi,
There are no left brackets in the code...see sample below.  Is it possible to download the file somewhere?

public static void QueueWorkItem(
            Queue&#62; queue,
            Tin inputArgument,
            Func, Tout&#62; doWork,
            Action&#62; workerCompleted)</description>
		<content:encoded><![CDATA[<p>Hi,<br />
There are no left brackets in the code&#8230;see sample below.  Is it possible to download the file somewhere?</p>
<p>public static void QueueWorkItem(<br />
            Queue&gt; queue,<br />
            Tin inputArgument,<br />
            Func, Tout&gt; doWork,<br />
            Action&gt; workerCompleted)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Queued BackgroundWorker Using Generic Delegates by cj</title>
		<link>http://thevalerios.net/matt/2008/05/a-queued-backgroundworker/#comment-4320</link>
		<dc:creator>cj</dc:creator>
		<pubDate>Mon, 08 Dec 2008 22:53:36 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/?p=27#comment-4320</guid>
		<description>first of all, thank you for posting this great background worker code.  i'll freely admit that i'm new to delegates and lambdas, and i'm not quite sure how to add a background worker progress report method to what you already have here.  is it possible to add a progress reporter to this?  if so, would you provide some pointers on how i could go about it?  thanks again!</description>
		<content:encoded><![CDATA[<p>first of all, thank you for posting this great background worker code.  i&#8217;ll freely admit that i&#8217;m new to delegates and lambdas, and i&#8217;m not quite sure how to add a background worker progress report method to what you already have here.  is it possible to add a progress reporter to this?  if so, would you provide some pointers on how i could go about it?  thanks again!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Microsoft Embraces AMQP Messaging Standard by alexis</title>
		<link>http://thevalerios.net/matt/2008/11/microsoft-embraces-amqp-messaging-standard/#comment-4056</link>
		<dc:creator>alexis</dc:creator>
		<pubDate>Tue, 25 Nov 2008 15:46:47 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/2008/11/microsoft-embraces-amqp-messaging-standard/#comment-4056</guid>
		<description>People can now run RabbitMQ as a Windows service, meeting Matt's requirement above.  Any questions please email info at rabbitmq dot com.  Cheers, alexis</description>
		<content:encoded><![CDATA[<p>People can now run RabbitMQ as a Windows service, meeting Matt&#8217;s requirement above.  Any questions please email info at rabbitmq dot com.  Cheers, alexis</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on &#34;Using&#34; ReaderWriterLockSlim by Nathan</title>
		<link>http://thevalerios.net/matt/2008/09/using-readerwriterlockslim/#comment-4012</link>
		<dc:creator>Nathan</dc:creator>
		<pubDate>Mon, 24 Nov 2008 12:48:50 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/2008/09/using-readerwriterlockslim/#comment-4012</guid>
		<description>After a couple of questions got raised about this I have posted a detailed article addressing the deadlock condition discussed in the comments here: &lt;a href="http://www.nobletech.co.uk/Articles/" rel="nofollow"&gt;http://www.nobletech.co.uk/Articles/&lt;/a&gt;.
PS. My code posted above doesn't check what you're not already in a lock before acquiring a new one. Of course the lock itself will throw an exception if you haven't allowed recursion on it, but if you have then you will need to do this to make sure that each lock you acquire is released correctly at the right time. The full code for the lock manager including these checks is available on the page I mentioned.</description>
		<content:encoded><![CDATA[<p>After a couple of questions got raised about this I have posted a detailed article addressing the deadlock condition discussed in the comments here: <a href="http://www.nobletech.co.uk/Articles/" rel="nofollow">http://www.nobletech.co.uk/Articles/</a>.<br />
PS. My code posted above doesn&#8217;t check what you&#8217;re not already in a lock before acquiring a new one. Of course the lock itself will throw an exception if you haven&#8217;t allowed recursion on it, but if you have then you will need to do this to make sure that each lock you acquire is released correctly at the right time. The full code for the lock manager including these checks is available on the page I mentioned.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Microsoft CCR and DSS Toolkit 2008 by valerio.net &#187; Blog Archive &#187; Exception Handling, Queuing, and UI Synchronization for WCF Services Using the CCR</title>
		<link>http://thevalerios.net/matt/2008/10/microsoft-ccr-and-dss-toolkit-2008/#comment-3723</link>
		<dc:creator>valerio.net &#187; Blog Archive &#187; Exception Handling, Queuing, and UI Synchronization for WCF Services Using the CCR</dc:creator>
		<pubDate>Mon, 17 Nov 2008 22:43:28 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/2008/10/microsoft-ccr-and-dss-toolkit-2008/#comment-3723</guid>
		<description>[...] on top of the current threading implementations on the .NET platform. I&#8217;ve blogged about the CCR before, but haven&#8217;t really posted any useful examples that truly illustrate its power. Get [...]</description>
		<content:encoded><![CDATA[<p>[...] on top of the current threading implementations on the .NET platform. I&#8217;ve blogged about the CCR before, but haven&#8217;t really posted any useful examples that truly illustrate its power. Get [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on CCR 101 Download Available by valerio.net &#187; Blog Archive &#187; Exception Handling, Queuing, and UI Synchronization for WCF Services Using the CCR</title>
		<link>http://thevalerios.net/matt/2008/10/ccr-101-download-available/#comment-3722</link>
		<dc:creator>valerio.net &#187; Blog Archive &#187; Exception Handling, Queuing, and UI Synchronization for WCF Services Using the CCR</dc:creator>
		<pubDate>Mon, 17 Nov 2008 22:40:13 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/2008/10/ccr-101-download-available/#comment-3722</guid>
		<description>[...] on top of the current threading implementations on the .NET platform. I&#8217;ve blogged about the CCR before, but haven&#8217;t really posted any useful examples that truly illustrate its [...]</description>
		<content:encoded><![CDATA[<p>[...] on top of the current threading implementations on the .NET platform. I&#8217;ve blogged about the CCR before, but haven&#8217;t really posted any useful examples that truly illustrate its [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Paradigm Shift - Designing Asynchronous Programs Using the CCR by valerio.net &#187; Blog Archive &#187; Exception Handling, Queuing, and UI Synchronization for WCF Services Using the CCR</title>
		<link>http://thevalerios.net/matt/2008/08/paradigm-shift-designing-asynchronous-programs-using-the-ccr/#comment-3721</link>
		<dc:creator>valerio.net &#187; Blog Archive &#187; Exception Handling, Queuing, and UI Synchronization for WCF Services Using the CCR</dc:creator>
		<pubDate>Mon, 17 Nov 2008 22:30:24 +0000</pubDate>
		<guid isPermaLink="false">http://thevalerios.net/matt/2008/08/paradigm-shift-designing-asynchronous-programs-using-the-ccr/#comment-3721</guid>
		<description>[...] abstraction on top of the current threading implementations on the .NET platform. I&#8217;ve blogged about the CCR before, but haven&#8217;t really posted any useful examples that truly illustrate its [...]</description>
		<content:encoded><![CDATA[<p>[...] abstraction on top of the current threading implementations on the .NET platform. I&#8217;ve blogged about the CCR before, but haven&#8217;t really posted any useful examples that truly illustrate its [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
