<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.atalasoft.com/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Rick Minerich's Development Wonderland : monads, IObservable</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/tags/monads/IObservable/default.aspx</link><description>Tags: monads, IObservable</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>F# Discoveries This Week 01/13/2010</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx</link><pubDate>Wed, 13 Jan 2010 16:59:05 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:20033</guid><dc:creator>RickM</dc:creator><slash:comments>2</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/20033.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=20033</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=20033</wfw:comment><description>&lt;p&gt;Back again this week with a fresh batch of F# Posts, Videos and Events.&amp;#160; I’ve been enjoying Matthew Podwysocki’s “Much Ado About Monads” series quite a lot.&amp;#160; They are well worth checking out for beginner and advanced alike. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1 align="center"&gt;Events&lt;/h1&gt;  &lt;p align="left"&gt;If you would like to see your event here, send me an email via the link at the top of the page.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Rick Minerich&lt;/strong&gt; - &lt;a href="http://www.technologyusersgroup.org/2010/01/13/next-meeting-january-27-2009/"&gt;Charleston SC Technology Users Group&lt;/a&gt; on the 27th of January (check out the &lt;a href="http://www.technologyusersgroup.org/wp-content/uploads/2009/10/flyer.jpg"&gt;awesome flier&lt;/a&gt;)&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Steffen Forkmann&lt;/strong&gt; - &lt;a href="http://www.navision-blog.de/2010/01/11/terminverschiebung-des-f-vortrages-in-bad-homburg/"&gt;Frankfurt .NET Usergroup&lt;/a&gt; on the 21st of January&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1 align="center"&gt;Posts&lt;/h1&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/dsyme/archive/2010/01/09/async-and-parallel-design-patterns-in-f-parallelizing-cpu-and-i-o-computations.aspx"&gt;Don Syme’s Async and Parallel Design Patterns in F#: Parallelizing CPU and I/O Computations&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;One simple way to write parallel and reactive programs is with F# async expressions. In this and future posts, I will cover some of the basic ways in which you can use F# async programming - roughly speaking, these are design patterns enabled by F# async programming.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/dsyme/archive/2010/01/08/f-interactive-tips-and-tricks-visualizing-data-in-a-grid.aspx"&gt;Don Syme’s F# Interactive Tips and Tricks: Visualizing Data in a Grid&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The demos in my F# talks use a number of coding snippets to acquire, generate and display data interactively. Some of these little snippets are not so well known, but they are useful :-)&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/dsyme/archive/2010/01/08/some-tips-and-tricks-for-formatting-data-in-f-interactive-and-a-in-sprintf-printf-fprintf.aspx"&gt;Don Syme’s F# Interactive Tips and Tricks: Formatting Data using AddPrinter, AddPrintTransformer and %A in sprintf/printf/fprintf&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Here are some tips and tricks for formatting data in F# Interactive. This is not meant to be a comprehensive guide, just enough to get you started. Please let me know if you need more examples.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://weblogs.asp.net/podwysocki/archive/2010/01/07/much-ado-about-monads-reader-edition.aspx"&gt;Matthew Podwysocki’s Much Ado About Monads – Reader Edition&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;So, our ultimate goal would be instead to have our environment set once and then read from it implicitly.&amp;#160; We still want to keep what we have here in terms of our script, but change the underlying mechanism for how it happens.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://skillsmatter.com/podcast/open-source-dot-net/f-and-units-of-measure-for-technical-computing"&gt;Anton Schwaighofer’s SkillsMatter.com talk: F# and Units-of-measure for Technical Computing&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I will start by giving an introduction to units-of-measure and their implementation in F#. I'll work through smaller and larger code examples that make use of units-of-measure.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.msdev.com/Directory/Description.aspx?eventId=1649"&gt;Nancy Strickland’s MSDev.com Training Session on F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Visual Studio 2010 includes a new programming language, F#. This session explains and provides a walk-through demonstration of basic programming in F#.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h5&gt;Julien Ortin continues his series on Purely Functional Data Structures with a &lt;a href="http://lepensemoi.free.fr/index.php/2010/01/07/lazy-pairing-heap"&gt;Lazy Pairing Heap&lt;/a&gt;, a &lt;a href="http://lepensemoi.free.fr/index.php/2010/01/07/real-time-queue"&gt;Real-time Queue&lt;/a&gt; and &lt;a href="http://lepensemoi.free.fr/index.php/2010/01/07/bottom-up-merge-sort"&gt;Bottom-up Merge Sort&lt;/a&gt;&lt;/h5&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This post describes the F# implementation of the &amp;lt;insert data structure here&amp;gt; from Chris Okasaki’s “Purely functional data structures”.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://bugsquash.blogspot.com/2010/01/translating-haskell-to-f-and-other.html"&gt;Mauricio Scheffer’s Translating Haskell to F# and other considerations&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;BUT, syntactic similarity does not imply that they're semantically the same. There's a fundamental difference from the original code: Haskell is a lazy language, while F#, coming from the ML-family, does eager evaluation.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.markhneedham.com/blog/2010/01/12/f-refactoring-to-pattern-matching/"&gt;Mark Needham’s F#: Refactoring to pattern matching&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I was looking through some of the F# code I've written recently and I realised that I was very much writing C# in F# with respect to the number of if statements I've been using.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.markhneedham.com/blog/2010/01/10/roy-osheroves-tdd-kata-an-f-attempt/"&gt;Mark Needham’s F# attempt at Roy Osherove’s TDD Kata&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;As I've mentioned in a few of my recent posts I've been having &lt;/em&gt;&lt;em&gt;another go&lt;/em&gt;&lt;em&gt; at Roy Osherove's TDD Kata but this time in F#.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://fsharpcode.blogspot.com/2010/01/weak-subscribe-to-iobservable-source.html"&gt;Holoed’s Weak Subscribe to an IObservable Source&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;A code snippet describing how to subscribe to an event via a weak reference.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://codecube.net/2010/01/resource-pool-in-f/"&gt;Erik Schulz’s Resource Pool in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I’ve been toying around with F# recently, it’s good to see an example that you can easily compare and contrast with the C# version.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.ademiller.com/blogs/tech/2010/01/gotchas-common-traps-for-the-f-n00b"&gt;Ade Miller’s Gotchas: Common Traps for the F# n00b&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I spent a bunch of time over the holidays getting to know F# a bit better. I think I now consider myself to be truly dangerous with it.&amp;#160; A couple of things which repeatedly bit me as I stumbled through learning F# as a n00b.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+01%2f13%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+01%2f13%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx&amp;amp;title=F%23+Discoveries+This+Week+01%2f13%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+01%2f13%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+01%2f13%2f2010&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/13/f-discoveries-this-week-01-13-2010.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=20033" width="1" height="1"&gt;</description><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/F_2300_/default.aspx">F#</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fsharp/default.aspx">fsharp</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/roundup/default.aspx">roundup</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/haskell/default.aspx">haskell</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/units+of+measure/default.aspx">units of measure</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/parallelism/default.aspx">parallelism</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/data+structures/default.aspx">data structures</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/monads/default.aspx">monads</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/IObservable/default.aspx">IObservable</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/WeakReference/default.aspx">WeakReference</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/formatting/default.aspx">formatting</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/DataGrid/default.aspx">DataGrid</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/reader/default.aspx">reader</category></item><item><title>F# Discoveries This Week 12/21/2009</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx</link><pubDate>Mon, 21 Dec 2009 17:10:31 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:19904</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/19904.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=19904</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=19904</wfw:comment><description>&lt;p align="left"&gt;By far the most exciting news this week was the preview release of Microsoft Research Accelerator.&amp;#160; Posts on this topic by Satnam Signh and Tomas Petricek have left the F# world buzzing.&amp;#160; This, however, is just the tip of the F# iceberg.&amp;#160; News of the F# Survival Guide’s release and a number of other exciting posts follow.&lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h1 align="center"&gt;-- F# --&lt;/h1&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/satnam_singh/archive/2009/12/15/gpgpu-and-x64-multicore-programming-with-accelerator-from-f.aspx"&gt;Satnam Singh demonstrates GPGPU and x64 multicore programming with Accelerator&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p align="left"&gt;&lt;em&gt;Microsoft recently released a preview of the Accelerator V2 GPU and x64 multicore programming system on Microsoft Connect. This system provides a civilized level of abstraction for writing data-parallel programs that execute on GPUs and multicore processors. An experimental FPGA target is under development.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://tomasp.net/blog/accelerator-intro.aspx"&gt;Tomas Petricek explores Microsoft Research Accelerator&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The project used Microsoft Research Accelerator, which is a C# library for developing array-based computations and executing them on a GPU. […] In this article, we'll look at the simplest way of using Accelerator from F#. Accelerator provides a managed interface that can be naturally used from both C# and F#.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.ctocorner.com/fsharp/book/"&gt;The F# Survival Guide – a Free eBook&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;Welcome to the F# Survivial Guide by John Puopolo with Sandy Squires. We wrote this book to introduce mainstream developers to the world of functional programming through the lens of F#, Microsoft's first fully-supported multi-paradigm language.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://weblogs.asp.net/podwysocki/archive/2009/12/14/going-hybrid-implementing-a-shopping-cart-in-f.aspx"&gt;Matthew Podwysocki builds a Shopping Cart in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p align="left"&gt;&lt;em&gt;Where functional programming has an immediate impact and probably the largest is programming in the small.&amp;#160; Here, we can focus on such things as immutable values, higher order functions, recursion, pattern matching and others come into play.&amp;#160; When we’re talking about mixing paradigms, object oriented programming has a larger effect on programming in the medium where we’re organizing our code and can some times offer a more elegant solution than a functional programming one.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://lorgonblog.spaces.live.com/Blog/cns!701679AD17B6D310!1767.entry"&gt;Brian McNamara explores IObserver and IObservable&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;At core, IObservable is just about two new small interfaces, IObservable&amp;lt;T&amp;gt; and IObserver&amp;lt;T&amp;gt;, being added to .Net 4.0.&amp;#160; We’ll come to the details of those interfaces shortly.&amp;#160; What is exciting and useful about IObservable is that these interfaces admit very nice programming models, including LINQ (e.g. for C#) and the Observable module (for F#), that provide useful combinators for transforming and using event streams.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.navision-blog.de/2009/11/23/mapping-the-reactive-framework-rx-operators-for-f/"&gt;Steffen Forkmann maps the Reactive Framework operators to F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The “Reactive Extensions for .NET (Rx)” comes with lot’s of operators for using IObservable&amp;lt;T&amp;gt;. This code mimics the signature of the default F# sequence combinators and allows to use observables like sequences. It is a similar approach like Matthews Podwysocki’s blog post about mapping the IParallelEnumerable.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://strangelights.com/blog/archive/2009/12/20/1650.aspx"&gt;Robert Pickering introduces FunctionalNHibernate&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;It’s already fairly well documented that F# doesn’t play too well with NHibernate and Fluent NHibernate, although you can make it play a littler nice with a bit of effort. However there are a few fundamental problems with this approach.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://bistrofs.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=37460"&gt;Bistro FSharp Extensions 0.9.5.0 is released&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The new release drastically improves the project's interaction with the inference capabilities of F#. A majority of controllers can now be written without the need for discriminated union annotations, or let bindings for naming. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Julien Ortin continues his series on Purely Functional Data Structures with a &lt;a href="http://lepensemoi.free.fr/index.php/2009/12/17/splay-heap"&gt;Splay heap&lt;/a&gt;, a &lt;a href="http://lepensemoi.free.fr/index.php/2009/12/17/double-ended-queue"&gt;double-ended queue&lt;/a&gt; and a &lt;a href="http://lepensemoi.free.fr/index.php/2009/12/17/pairing-heap"&gt;Pairing heap&lt;/a&gt;.&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This post describes the F# implementation of the &amp;lt;insert data structure here&amp;gt; from Chris Okasaki’s “Purely functional data structures”.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/jaredpar/archive/2009/12/15/making-f-type-inference-friendly-for-c.aspx"&gt;Jared Parsons makes F# type inference friendly to C#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;When working with the exposed core Vim engine API, I’ve found a number of generated F# constructs which are not easily accessible from C#.&amp;#160; The problem stems from the manner in which native F# types are exposed.&amp;#160; Many of them are generic and&amp;#160; lack type inference friendly helper methods that force awkward usage patterns in C#.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.russiantequila.com/wordpress/?p=99"&gt;Alex Pedenko discusses code compression with F# and MVC&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p align="left"&gt;&lt;em&gt;While the underlying concepts are the same, a recent stint with Django (which is a strong influence in the Bistro framework) reminded me of how little work you have to do in python to get going with a controller, and that bistro and the fs extensions still have some catching up to do on the brevity front.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://mdavey.wordpress.com/2009/12/21/thoughts-on-f-within-a-single-dealer-platform-sdp/"&gt;Matt Davey muses over F# within a Single Dealer Platform&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p align="left"&gt;&lt;em&gt;I’ve been thinking about F# for a while and its use within finance. A number of banks have been looked at F# from an analytical viewpoint – obvious, and hence boring.&amp;#160; What is more interesting it how F# possible elevates the building of a Single Dealer Platform (SDP).&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.markhneedham.com/blog/2009/12/20/f-word-count-using-a-dictionary/"&gt;Mark Needham does Word Count using a Dictionary&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p align="left"&gt;&lt;em&gt;Having spent some time unsuccessfully trying to make &lt;/em&gt;&lt;em&gt;my F# attempt at the word count problem&lt;/em&gt;&lt;em&gt; work I decided to follow the lead of the other examples I've read and make use of a Dictionary to keep count of the words.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h1 align="center"&gt;-- Misc Others --&lt;/h1&gt;  &lt;h3&gt;&lt;a href="http://functionalpx.ning.com/"&gt;Functional Programming eXchange – a Ning network for FP&lt;/a&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://blog.plover.com/prog/burritos.html"&gt;Mark Dominus on why Monads are like burritos&lt;/a&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://patryshev.com/monad/m-intro.html"&gt;Crash Monad Tutorial&lt;/a&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://stuartsierra.com/2009/12/14/objects-are-not-adts"&gt;Stuart Sierra on why Objects are not Abstract Data Types&lt;/a&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://www.cs.yale.edu/homes/perlis-alan/quotes.html"&gt;Perlisms - “Epigrams in Programming” by Alan J. Perlis&lt;/a&gt;&lt;/h3&gt;
&lt;div class = "shareblock"&gt;&lt;strong&gt;Share this post:&lt;/strong&gt; &lt;a href = "mailto:?body=Thought you might like this: http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+12%2f21%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+12%2f21%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx&amp;amp;title=F%23+Discoveries+This+Week+12%2f21%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+12%2f21%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+12%2f21%2f2009&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/21/f-discoveries-this-week-12-21-2009.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=19904" width="1" height="1"&gt;</description><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/F_2300_/default.aspx">F#</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fsharp/default.aspx">fsharp</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/roundup/default.aspx">roundup</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/functional+programming/default.aspx">functional programming</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/type+inference/default.aspx">type inference</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/data+structures/default.aspx">data structures</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/interop/default.aspx">interop</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/monads/default.aspx">monads</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Rx/default.aspx">Rx</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Accelerator/default.aspx">Accelerator</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/ebook/default.aspx">ebook</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/sdp/default.aspx">sdp</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/GPGPU/default.aspx">GPGPU</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/mvc/default.aspx">mvc</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/IObserver/default.aspx">IObserver</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Bistro/default.aspx">Bistro</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/shopping+cart/default.aspx">shopping cart</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/IObservable/default.aspx">IObservable</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/manycore/default.aspx">manycore</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/FunctionalNHibernate/default.aspx">FunctionalNHibernate</category></item></channel></rss>