<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>DotNetKicks.com : Stories kicked by mpodwyso</title>
    <description>Stories kicked by mpodwyso</description>
    <link>http://www.dotnetkicks.com/</link>
    <language>en-us</language>
    <copyright>Atweb Publishing Ltd.</copyright>
    <docs>http://backend.userland.com/rss</docs>
    <generator>DotNetKicks.com - .NET links, community driven</generator>
    <ttl>30</ttl>
    <item>
      <title>Much Ado About Monads - Maybe Edition</title>
      <description>In the past I've extensively talked about creating monads, but not as much more around them in terms of why you might use them and what problems they are trying to solve.  Since that time, I've been challenged by others to actually prove not only that it can be understood by everyone, but they are very useful as well.  It's been a form of geekery among us software professionals to say, "Whoopee! I've learned how to implement a monad to do x" without really explaining the reason why people should care.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2009%2f01%2f28%2fmuch-ado-about-monads-maybe-edition.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2009%2f01%2f28%2fmuch-ado-about-monads-maybe-edition.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Much_Ado_About_Monads_Maybe_Edition</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Much_Ado_About_Monads_Maybe_Edition</guid>
      <pubDate>Thu, 29 Jan 2009 21:57:04 GMT</pubDate>
    </item>
    <item>
      <title>Functional .NET 4.0 - Tuples and Zip</title>
      <description>F# vs .NET 4.0 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f11%2f16%2ffunctional-net-4-0-tuples-and-zip.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f11%2f16%2ffunctional-net-4-0-tuples-and-zip.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/clr/Functional_NET_4_0_Tuples_and_Zip</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/clr/Functional_NET_4_0_Tuples_and_Zip</guid>
      <pubDate>Tue, 18 Nov 2008 01:46:02 GMT</pubDate>
    </item>
    <item>
      <title>Functional .NET - Fighting Friction in the BCL with Directory.GetFiles</title>
      <description>The Issues
There are several issues that lead me to come up with an alternative for this situation of getting all files in a directory.  

Arrays shouldn't be returned from method calls 
Processor intensive for iterating over large directory trees instead of calculating only what I need, when I need it 
Filtering is weak, and only uses file format patterns 
Access denied internal messages occur for no apparent reason which halts the method  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f10%2f16%2ffunctional-net-fighting-friction-in-the-bcl-with-directory-getfiles.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f10%2f16%2ffunctional-net-fighting-friction-in-the-bcl-with-directory-getfiles.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Functional_NET_Fighting_Friction_in_the_BCL_with_Directory_GetFiles</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Functional_NET_Fighting_Friction_in_the_BCL_with_Directory_GetFiles</guid>
      <pubDate>Sat, 18 Oct 2008 08:43:48 GMT</pubDate>
    </item>
    <item>
      <title>Functional C# - Implementing Async Computations in C#</title>
      <description>As I covered earlier in my post Functional .NET - LINQ or Language Integrated Monads, I talked about using asynchronous computation expressions (monads) from C# 3.0.  Brian McNamara, of the F# team, posted back in May about using them from C#.  But since then, things have changed slightly.  Before, I showed a basic example of how to utilize the F# libraries from C#, but let's go deep under the covers to see how this actually works. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f10%2f15%2ffunctional-c-implementing-async-computations-in-c.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f10%2f15%2ffunctional-c-implementing-async-computations-in-c.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Functional_C_Implementing_Async_Computations_in_C</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Functional_C_Implementing_Async_Computations_in_C</guid>
      <pubDate>Thu, 16 Oct 2008 00:13:52 GMT</pubDate>
    </item>
    <item>
      <title>Functional .NET - LINQ as a Monad</title>
      <description>As part of my talk at the Richmond Code Camp earlier in October, I had the opportunity to talk about how to implement functional aspects in C# 3.0.  This talk revolved around such concepts as from mutable to immutable, from inheritance to functional composition, and the mind shift that is required.  Part of this discussion involved very briefly a talk about monads.  It's a very misunderstood part of computer science and one of the most powerful concepts to learn.  Much like continuation passing style, this style is often maligned as a result.  But, let's work to change that. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f10%2f13%2ffunctional-c-linq-as-a-monad.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f10%2f13%2ffunctional-c-linq-as-a-monad.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Functional_NET_LINQ_as_a_Monad</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Functional_NET_LINQ_as_a_Monad</guid>
      <pubDate>Tue, 14 Oct 2008 06:40:29 GMT</pubDate>
    </item>
    <item>
      <title>Functional C# Recap</title>
      <description>&amp;quot;Here are some resources that will be helpful in covering functional programming aspects as well as other topics covered.&amp;quot; (Link collection) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fweblogs.asp.net%2fpodwysocki%2farchive%2f2008%2f10%2f07%2frichmond-code-camp-2008-2-functional-c-recap.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fweblogs.asp.net%2fpodwysocki%2farchive%2f2008%2f10%2f07%2frichmond-code-camp-2008-2-functional-c-recap.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Functional_C_Recap</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Functional_C_Recap</guid>
      <pubDate>Fri, 10 Oct 2008 04:01:14 GMT</pubDate>
    </item>
    <item>
      <title>ASP.NET MVC with NHaml - F# Edition</title>
      <description>As part of some of my adventures with F#, I've seen a lot of interesting things coming from others with regards to SharePoint, ASP.NET and other technologies.  This had me thinking of any possibilities and ramifications of using F# with ASP.NET MVC.  Was it possible, and better question, what might make someone use this over their existing toolsets.  Those are some of the questions to explore.  But, in the mean time, let's take the journey of F# and ASP.NET MVC. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f10%2f06%2fasp-net-mvc-with-nhaml-f-edition.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f10%2f06%2fasp-net-mvc-with-nhaml-f-edition.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/ASP_NET_MVC_with_NHaml_F_Edition</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/ASP_NET_MVC_with_NHaml_F_Edition</guid>
      <pubDate>Tue, 07 Oct 2008 11:41:09 GMT</pubDate>
    </item>
    <item>
      <title>Side Effects and Functional Programming</title>
      <description>One of my first posts at CodeBetter was in regards to side effects and how, when unmanaged, can be truly evil.  Today, I want to revisit that topic briefly in regards to functional programming and managing side effects.  When I was out in Redmond a couple of months ago, I had the opportunity to sit down with Erik Meijer to discuss functional programming among other topics.  In there, we discussed a number of issues around managing side effects and state in your code, and how both C# and F# don't intrinsically support such a concept.  Languages like Haskell, of course do with IO monads and other such monadic structures.  Whether languages such as F# and Erlang are not pure functional programming languages is another matter, due to the fact that you don't have to declare when you are side effecting (reading a database, writing to console, spawning a process, etc).  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f09%2f12%2fside-effects-and-functional-programming.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fcodebetter.com%2fblogs%2fmatthew.podwysocki%2farchive%2f2008%2f09%2f12%2fside-effects-and-functional-programming.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Side_Effects_and_Functional_Programming</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Side_Effects_and_Functional_Programming</guid>
      <pubDate>Sun, 14 Sep 2008 10:08:00 GMT</pubDate>
    </item>
    <item>
      <title>F# September 2008 CTP Released!</title>
      <description>I'm very pleased to announce the availability of the F# September 2008 CTP Release, launched via the new MSDN F# Developer Center. This release represents an important step in the evolution of the F# language as we progress it towards a fully supported language for the .NET platform. A huge thank you to both the F# team and the community members who've helped us trial earlier versions of this release and given us so much excellent feedback.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblogs.msdn.com%2fdsyme%2farchive%2f2008%2f08%2f29%2fthe-f-september-2008-ctp-is-now-available.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblogs.msdn.com%2fdsyme%2farchive%2f2008%2f08%2f29%2fthe-f-september-2008-ctp-is-now-available.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/F_September_2008_CTP_Released</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/F_September_2008_CTP_Released</guid>
      <pubDate>Wed, 03 Sep 2008 03:16:11 GMT</pubDate>
    </item>
  </channel>
</rss>