<?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 : fake</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fake/default.aspx</link><description>Tags: fake</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>F# Discoveries This Week 07/16/2010</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/07/16/f-discoveries-this-week-07-16-2010.aspx</link><pubDate>Fri, 16 Jul 2010 15:49:19 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:20903</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/20903.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=20903</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=20903</wfw:comment><description>&lt;p&gt;As promised, a fresh batch of links to sooth your aching desire for more F#.&amp;#160; I’m particularly excited to announce I’ll give giving a F# tutorial this year at the &lt;a href="http://cufp.org/"&gt;Commercial Users of Functional Programming&lt;/a&gt; conference.&amp;#160; CUFP is going to have a lot of great content this year and will be well worth attending for anyone interested in functional programming. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1 align="center"&gt;News &lt;/h1&gt;  &lt;h3&gt;&lt;a href="http://www.navision-blog.de/2010/07/14/fake-f-make-1-40-5-0-released-bugfixes-for-cruisecontrol-net/"&gt;FAKE – F# Make 1.40.5.0 Released&lt;/a&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/b/dsyme/archive/2010/07/15/f-jobs-at-credit-suisse-london.aspx"&gt;F# Jobs at Credit Suisse, London&lt;/a&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://cufp.org/f-20-day-beach-rick-minerich"&gt;I’ll be giving a F# tutorial at CUFP&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1 align="center"&gt;Video&lt;/h1&gt;  &lt;h3&gt;&lt;a href="http://vimeo.com/13215304"&gt;Steffen Forkmann speaks on F# Open Source Tools at the New England F# User Group&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Presented at the &lt;a href="http://fsug.org"&gt;New England F# User Group&lt;/a&gt; on June 7, 2010, Steffen discusses FAKE and NaturalSpec. Steffen is the author of the two open source F# projects &amp;quot;FAKE - F# Make&amp;quot; and &amp;quot;NaturalSpec&amp;quot;.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1 align="center"&gt;Articles&lt;/h1&gt;  &lt;h3&gt;&lt;a href="http://www.russiantequila.com/wordpress/?p=149"&gt;Alex Pedenko’s Introducing Furious – A proof-of-concept RRM for F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Meet furious. Furious is a RRM - a Record Relation Mapping system. It is a database-independent object query dsl for records, that currently has a (barebones) mysql implementation. Here's how it works. Suppose you have a record graph like so…&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.codeproject.com/KB/net-languages/ExploringAmazonwithFsharp.aspx"&gt;Vagif Abilov’s Exploring Amazon S3 with F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The purpose of this article is to show how fast you can dig into low level details of an unknown technology using F#, and how little code you need to write. Therefore I keep the text of the article short, focusing just on the required steps.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://fdatamining.blogspot.com/2010/07/f-async-workflow-application-flickr.html"&gt;Yin Zhu’s F# Async workflow application: a Flickr crawler&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;My strategy is to use the search query to search images with some specific tags and from the result page(as shown below), the url of each image is extracted, from which the image and its tags are then crawled. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.whattofix.com/blog/archives/2010/07/f-versus-micros.php"&gt;Daniel Markham’s F# Versus Microsoft's Regex. A Lesson in Types&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I was doing some text processing. As part of that, I set up a few RegExes. As I continued coding, I realized that I was following a pattern: apply the regex, check the match count, and if there were a bunch of matches, either get the first or last item.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://fsharpnews.blogspot.com/2010/07/f-vs-mathematica-even-faster-pricer-for.html"&gt;Jon Harrop’s F# vs Mathematica: an even faster pricer for American options&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This new optimized and parallelized F# solution is now a whopping 960× faster than the original Mathematica code from Sal Mangano's Mathematica Cookbook.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://techneilogy.blogspot.com/2010/07/pure-oop-personal-retrospective.html"&gt;Neil Carrier’s Pure OOP – A Personal Retrospective&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Almost instantly, my thoughts about the problem undergo a phase change, and I re-write my earlier code to be more succinct, maintainable, and composable, and usually more computationally efficient.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://techneilogy.blogspot.com/2010/07/integer-square-roots.html"&gt;Neil Carrier’s Integer Square Roots&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This is an old algorithm, once popular in assembly language programs on small processors. The fact that it uses only integers, addition, subtraction, and less-than branching, mean that its hardware and software requirements are at rock bottom.&lt;/em&gt;&lt;/p&gt;   &lt;em&gt;&lt;/em&gt;    &lt;p&gt;&lt;/p&gt;   &lt;em&gt;&lt;/em&gt;&lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://lepensemoi.free.fr/index.php/2010/07/13/f-event-module-extension"&gt;Julien Ortin’s F# Event module extension&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Functions to extend the F# Event module.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://lepensemoi.free.fr/index.php/2010/07/09/socket-helpers-in-f"&gt;Julien Ortin’s Socket helpers in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This post describes a module to perform common socket operations using asynchronous operations and reactive 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://lepensemoi.free.fr/index.php/2010/07/07/european-central-bank-extracting-reference-rates-with-f"&gt;Julien Ortin’s European Central Bank – extracting reference rates with F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Every day, the European Central Bank publishes “official” reference FX (foreign exchange) rates where currencies are quoted against the Euro (expressed as EUR/XXX), or 1 EUR = xxx XXX.&amp;#160; The exchange rates of the last thirty sessions are available in xml format which we shall try to parse.&amp;#160; In order to do so, we use F# and active patterns, based on Don Syme’s draft paper.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;Petr Lepilov’s F# interactive, AppFabric cache and PowerShell &lt;a href="http://sharpamqp.net/blog/post/F-interactive-AppFabric-cache-and-PowerShell-%28Part-1%29.aspx"&gt;Part 1&lt;/a&gt; and &lt;a href="http://sharpamqp.net/blog/post/F-interactive-AppFabric-cache-and-PowerShell-%28Part-2%29.aspx"&gt;Part 2&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Applications can store any serializable CLR object without worrying about where the object gets stored. Scalability can be achieved by simply adding more computers on demand. The cache also allows for copies of data to be stored across the cluster, thus protecting data against failures. It runs as a service accessed over the network.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://stevegilham.blogspot.com/2010/07/dotcover-10-beta-first-impressions.html"&gt;Steve Gilham’s dotcover 1.0 beta – first impressions&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Not having R# at home -- because I rarely use C# even if I'm writing for .net -- it's this which interested me more. So, I gave it a try on my current F# project&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://fortysix-and-two.blogspot.com/2010/07/f-and-code-contracts-not-quite-there.html"&gt;Kurt Schelfthout’s F# and Code Contracts: not quite there yet&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In this post I’ll show how you can get Code Contracts sort of working for F#. From my very initial explorations, I would conclude that they seem basically usable for F# programming – but you’ll need some glue and tape, and not everything works as you’d expect.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Edmon Begoli’s Scala vs. F#, Application Programming Features &lt;a href="http://www.developer.com/lang/other/article.php/3883051/Scala-vs-F-Comparing-Functional-Programming-Features"&gt;Round 1&lt;/a&gt; and &lt;a href="http://www.developer.com/net/article.php/10916_3890906_1/Scala-vs-F-Round-2-Application-Programming-Features.htm"&gt;Round 2&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;F# and Scala, two relatively recent programming languages, provide most .NET and Java software developers with new functional programming features that are worth understanding and evaluating.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="2"&gt;Ivan Towlson’s F# pattern matching for beginners, &lt;a href="http://hestia.typepad.com/flatlander/2010/07/f-pattern-matching-for-beginners-part-1-getting-started.html"&gt;Part 1&lt;/a&gt;, &lt;a href="http://hestia.typepad.com/flatlander/2010/07/f-pattern-matching-for-beginners-part-2-decomposition.html"&gt;Part 2&lt;/a&gt; and &lt;a href="http://hestia.typepad.com/flatlander/2010/07/f-pattern-matching-for-beginners-part-3-guards.html"&gt;Part 3&lt;/a&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Pattern matching provides a concise but clear and highly expressive way of writing conditional logic, because it combines the conditional flow with the ability to extract values of interest&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&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/07/16/f-discoveries-this-week-07-16-2010.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+07%2f16%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/07/16/f-discoveries-this-week-07-16-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/07/16/f-discoveries-this-week-07-16-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+07%2f16%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/07/16/f-discoveries-this-week-07-16-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/07/16/f-discoveries-this-week-07-16-2010.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/07/16/f-discoveries-this-week-07-16-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/07/16/f-discoveries-this-week-07-16-2010.aspx&amp;amp;title=F%23+Discoveries+This+Week+07%2f16%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/07/16/f-discoveries-this-week-07-16-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/07/16/f-discoveries-this-week-07-16-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+07%2f16%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/07/16/f-discoveries-this-week-07-16-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/07/16/f-discoveries-this-week-07-16-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+07%2f16%2f2010&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/07/16/f-discoveries-this-week-07-16-2010.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=20903" 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/algorithms/default.aspx">algorithms</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/events/default.aspx">events</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/cufp/default.aspx">cufp</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fake/default.aspx">fake</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Mathematica/default.aspx">Mathematica</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/sockets/default.aspx">sockets</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/furious/default.aspx">furious</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Flickr/default.aspx">Flickr</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/contracts/default.aspx">contracts</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/S3/default.aspx">S3</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/options/default.aspx">options</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Regex/default.aspx">Regex</category></item><item><title>F# Discoveries This Week 05/14/2010</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/05/14/f-discoveries-this-week-05-14-2010.aspx</link><pubDate>Fri, 14 May 2010 21:06:49 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:20671</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/20671.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=20671</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=20671</wfw:comment><description>&lt;p&gt;Today, I’d like to thank all of the F# users on twitter.&amp;#160; &lt;/p&gt;  &lt;p&gt;Twitter’s a great place to stay up to date on the latest F# happenings and many of the posts you see here are either written by or passed on from members of this community.&amp;#160; So, if you are interested in becoming part of the &lt;a href="http://twitter.com/rickasaurus/f-fsharp-users"&gt;F# Twitter Community&lt;/a&gt;, I suggest starting with these frequent F# tweeters: &lt;a href="http://twitter.com/dmohl"&gt;@dmohl&lt;/a&gt;, &lt;a href="http://twitter.com/TigerHasse"&gt;@TigerHasse&lt;/a&gt;, &lt;a href="mailto:r@robertpi,@sforkmann"&gt;@robertpi&lt;/a&gt;, &lt;a href="http://twitter.com/sforkmann"&gt;@sforkmann&lt;/a&gt;, and &lt;a href="http://twitter.com/ptrelford"&gt;@ptrelford&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;I’ve also been known to &lt;a href="http://twitter.com/rickasaurus"&gt;occasionally tweet&lt;/a&gt; on F# and other programming topics.&amp;#160; Now, on to the links.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://lorgonblog.spaces.live.com/Blog/cns!701679AD17B6D310!2080.entry"&gt;Brian McNamara’s More F# Screencasts&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;My previous two screencasts (‘Getting started with F# in VS2010’ and ‘Editing F# source code in VS2010’) have been moved to MSDN, which means they’re now available in a variety of video formats.&amp;#160; A new screencast (‘Managing F# projects in VS2010’) has also been added, so check it out!&lt;/em&gt;&amp;#160; &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/2010/05/14/1660.aspx"&gt;Robert Pickering’s F# Talks in London&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I’ve been in London for the past few days. I arrived Tuesday afternoon and gave at talk at “The F#unctional Londoners Meetup Group” on the Tuesday evening. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/ee310028.aspx"&gt;James McCaffrey’s Combinations and Permutations with F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Understanding combinations and permutations is a fundamental skill in software testing. In this month’s Test Run column I show you how to work with combinations and permutations using code written in the new F# language.&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.infoq.com/presentations/Pragmatic-F-Sharp-in-Action"&gt;Amanda Laucher and Josh Graham’s Pragmatic F# in Action (video)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Amanda Laucher and Josh Graham introduce the audience to F# basics showing some of its main features, emphasizing what makes it better than imperative languages.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://tomasp.net/blog/fsharp-mvc-web.aspx"&gt;Tomas Petricek’s ASP.NET and F# Part 1 – Creating MVC Web Applications in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;If you want to use F# for creating an MVC application, you have a few options. It should be possible to create the web application solely as an F# project. However, we'll use a more convenient approach. We'll create a standard C# MVC project and move all the actual implementation to an F# library.&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.navision-blog.de/2010/05/12/fake-f-make-1-20-0-released/"&gt;Steffen Forkmann’s FAKE – F# Make 1.20.0 Released&lt;/a&gt; and     &lt;br /&gt;&lt;a href="http://www.navision-blog.de/2010/05/07/using-a-mailboxprocessor-to-speedup-fake-f-make/"&gt;Using a MailboxProcessor to speedup “FAKE – F# MAKE”&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Today I released a new bugfix release for “FAKE – F# Make”. We fixed some path and logging issues and as a new feature we introduced the @@ operator which allows to combine paths.&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.trelford.com/blog/post/Trading-on-IM-with-F.aspx"&gt;Phillip Trelford’s Trading on IM with F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The slides from my Trading on IM talk will be attached to this post, and the video/podcast should be appear on the Skills Matter website. I’ll also attach the 100 lines of code for shopping checkout sample, that works with a barcode scanner, I showed at the start of my presentation.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://bloggemdano.blogspot.com/2010/05/integrating-f-and-erlang-using-otpnet.html"&gt;Daniel Mohl’s Integrating F# and Erlang Using OTP.NET&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Recently, I ran across a post that talked about a .NET library named OTP.NET.&amp;#160; OTP.NET is a port of a Java library named JInterface that allows a .NET application to act as an Erlang node.&amp;#160; OTP.NET hasn't been updated in a while and the API is a bit clunky, but the provided functionality is very cool.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h5&gt;&amp;#160;&lt;/h5&gt;  &lt;h3&gt;Nick Grattan’s &lt;a href="http://nickgrattan.wordpress.com/2010/05/09/creating-web-parts-with-f/"&gt;Creating Web Parts with F#&lt;/a&gt; and     &lt;br /&gt;&lt;a href="http://nickgrattan.wordpress.com/2010/05/12/an-edsl-for-emitting-html-tables-in-web-parts-using-f-3/"&gt;An EDSL for Emitting HTML Tables in Web Parts using F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;When writing web parts in C# for SharePoint the System.Web “table” class or “table” HTML elements are most often used for controlling layout (“div” aficionados keep your ears covered…). The code quickly gets ugly and difficult to manage – there’s no direct control to ensure correct matching of opening and closing of tags. So how about writing an EDSL that provides a syntax and constructs for doing this?&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://techneilogy.blogspot.com/2010/05/tiny-expert-system-using-monads.html"&gt;Neil Carrier’s Tiny Expert System using Monads&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Below is a tiny expert system implemented using computation expressions. I managed to find a way to use the following computation expression methods: Bind, Delay, and Return.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Neil Carrier’s &lt;a href="http://techneilogy.blogspot.com/2010/05/simple-dsl-tokenization-to-evaluation.html"&gt;A Simple DSL: Tokenization to Evaluation&lt;/a&gt;,     &lt;br /&gt;&lt;a href="http://techneilogy.blogspot.com/2010/05/s-expressions-for-semantic-networks.html"&gt;S-Expressions for Semantic Networks&lt;/a&gt; and     &lt;br /&gt;&lt;a href="http://techneilogy.blogspot.com/2010/05/half-baked-scheme.html"&gt;A Half-Baked Scheme&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This post presents a small example of the above process. It implements a small interpreter which analyzes and evaluates LISP-like prefix expressions involving integers, multiplication, and division. For example: (+ (* 1 2) (* 3 4) evaluates to a data element containing the number 14. To make clear what is happening, be sure and examine the value of tokenList before it is evaluated. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Julien Ortin’s Technical analysis indicators in F# – &lt;a href="http://lepensemoi.free.fr/index.php/2010/05/05/technical-analysis-indicators-in-f-bands"&gt;Bands&lt;/a&gt;, &lt;a href="http://lepensemoi.free.fr/index.php/2010/05/10/technical-analysis-indicators-in-f-signal"&gt;Signal&lt;/a&gt; and &lt;a href="http://lepensemoi.free.fr/index.php/2010/05/10/technical-analysis-indicators-in-f-ehlers"&gt;Ehlers&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This is part of a series on technical analysis indicators in F#, based on the multi-language TA-Lib.&amp;#160; Quick disclaimer : some of these indicators are not verified.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://fsharp-euler.wikispaces.com/"&gt;Yin Zhu’s F# for Project Euler Problems&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Some problems have two versions of solutions, the version I first learned F# and the version based on my current knowledge of F#. The first version is usually quite easy to understand even if the reader does not know F#, while the second uses some nice F# feature or good functional programming practice in general.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://fsharpnews.blogspot.com/2010/05/java-vs-f.html"&gt;Jon Harrop’s Java vs. F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;What Cliff forgot to mention is that .NET also provides value types and a far more compelling example than complex numbers is the humble hash table.&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/timng/archive/2010/05/06/f-wpf-events.aspx"&gt;Tim Ng’s F# + WPF + Events&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I recently had to do some travelling for the VS launch event in Las Vegas and QCON event in Beijing. One of the things thats nice about travelling is that it gives you time to do some things you may not otherwise do - in my case, I had a chance to try to (re) learn WPF and see how I can use F# with WPF.&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/05/10/f-tacit-programming/"&gt;Mark Needham’s Tacit Programming&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I realised that this approach quite closely describes what I've been trying to drive towards in my most recent playing around with F# and it's actually quite fun trying to drive any intermediate state or storing of data in variables out of a program and just relying completely on function composition and higher order functions.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://dotnet.dzone.com/news/f-my-current-coding-approach"&gt;Mark Needham’s F#: My current coding approach&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I spent a bit of time over the weekend coding a simple generic builder for test objects in F# and I noticed that although there were similarity with the ways I drive code in C# or Java my approach didn't seem to be exactly the same.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://continuousdevelopment.wordpress.com/2010/05/13/f-vs-c-samples/"&gt;Ebru Cucen’s F# vs C# Samples&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;After my talk at ldnUG yesterday, I got nice suggestions from Zi Makki, and here is the first one: comparison between F# and C#, especially using LINQ. This subject had been quite popular once in a while, now it is probably my time to focus on this subject.&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.bjoernrochel.de/2010/05/12/kata-stringcalculator-in-f/"&gt;Bjorn Rochel’s Kata StringCalculator in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Two meetings ago we decided to do some coding on every meeting. The previous meeting we solved Kata FizzBuzz and on yesterday’s meeting we tried to dance with Roy Osheroves Kata StringCalculator.&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/gunnarpeipman/archive/2010/05/12/f-in-asp-net-mathematics-and-testing.aspx"&gt;Gunnar Peipman’s F# in ASP.NET, mathematics and testing&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Starting from Visual Studio 2010 F# is full member of .NET Framework languages family. It is functional language with syntax specific to functional languages but I think it is time for us also notice and study functional languages. In this posting I will show you some examples about cool things other people have done using 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://langexplr.blogspot.com/2008/02/defining-mutually-recursive-classes-in.html"&gt;Luis Diego Fallas’s Defining mutually recursive classes in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;As explained in Adventures in F#--Corecursion defining mutually recursive functions requires the use of the &lt;code&gt;and&lt;/code&gt; keyword between function definitions. As briefly mentioned in the Type Definitions section of the manual, the &lt;code&gt;and&lt;/code&gt; keyword can also be used in types.&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=1846"&gt;Nancy Strickland’s New Features in F# 2.0 Training Video&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Describes the new features in F# version 2.0, which comes included in Visual Studio 2010.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://partialclass.blogspot.com/2010/05/dotnetrocks-in-boston.html"&gt;DotNetRocks in Boston (with F# Panel)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The panel suggested we add F# to our repertoire and understand its strengths, and use it where it's beneficial. I'm going to take that advice. Bottom line is if I can replace 50 lines of confusing C# code with 10 lines of elegant F#, I've done myself a service.&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/05/14/f-discoveries-this-week-05-14-2010.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+05%2f14%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/05/14/f-discoveries-this-week-05-14-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/05/14/f-discoveries-this-week-05-14-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+05%2f14%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/05/14/f-discoveries-this-week-05-14-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/05/14/f-discoveries-this-week-05-14-2010.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/05/14/f-discoveries-this-week-05-14-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/05/14/f-discoveries-this-week-05-14-2010.aspx&amp;amp;title=F%23+Discoveries+This+Week+05%2f14%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/05/14/f-discoveries-this-week-05-14-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/05/14/f-discoveries-this-week-05-14-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+05%2f14%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/05/14/f-discoveries-this-week-05-14-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/05/14/f-discoveries-this-week-05-14-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+05%2f14%2f2010&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/05/14/f-discoveries-this-week-05-14-2010.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=20671" 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/asp.net/default.aspx">asp.net</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/math/default.aspx">math</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/dsl/default.aspx">dsl</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/twitter/default.aspx">twitter</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/wpf/default.aspx">wpf</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fake/default.aspx">fake</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/monad/default.aspx">monad</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/technical+analysis/default.aspx">technical analysis</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Euler/default.aspx">Euler</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/kata/default.aspx">kata</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Web+Parts/default.aspx">Web Parts</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/screencasts/default.aspx">screencasts</category></item><item><title>F# Discoveries This Week 04/16/2010</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/16/f-discoveries-this-week-04-16-2010.aspx</link><pubDate>Fri, 16 Apr 2010 18:16:13 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:20507</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/20507.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=20507</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=20507</wfw:comment><description>&lt;p&gt;It’s finally here.&amp;#160; After years of work, F# 2.0 is out and ready to change the way you program in .NET.&amp;#160; Come in for launch information, updates to projects written in F# and some great posts on actually using the language.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/dsyme/archive/2010/04/12/f-2-0-released-as-part-of-visual-studio-2010.aspx"&gt;Don Syme’s F# 2.0 Released!&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;F# is a productive functional and object-oriented programming language for .NET that enables users to write simple code to solve complex problems. Its succinct syntax and powerful type inference lets users stay closer to the domain they are working in, and the integration into .NET and Visual Studio gives rich access to the expansive .NET platform.&lt;/em&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Other Posts on the F# Launch&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://research.microsoft.com/en-us/news/features/fsharp-041310.aspx"&gt;Rob Knies’s F#: Putting the ‘Fun’ into ‘Functional’&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://www.itjoblog.co.uk/2010/04/microsoft-f.html"&gt;Tim Anderson’s Why Microsoft F# is worth exploring&lt;/a&gt;      &lt;br /&gt;&lt;a href="http://blog.andresays.org/2010/04/f-microsofts-new-functional-language/"&gt;Andre Burdette’s F#: Microsoft’s new functional language&lt;/a&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/lisa/archive/2010/04/16/vs-2010-keyboard-shortcut-posters-now-available-for-vb-c-f-c.aspx"&gt;Lisa Feigenbaum’s VS 2010 Keyboard Shortcut Posters Now Available for VB, C#, F# &amp;amp; C++&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The Visual Studio keyboard shortcut posters are always very popular and are now available for Visual Studio 2010! Please choose the one that corresponds to your choice of Visual Studio Development Settings. Print out a poster to place on the wall, or a quick reference card to keep on your desk.&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/chrsmith/archive/2010/04/13/good-news-and-sad-news-leaving-microsoft.aspx"&gt;Chris Smith’s Good News and Sad News - Leaving Microsoft&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;For me at least, the excitement and buzz of the Visual Studio 2010 launch will be short lived. Earlier this month I’ve accepted a position at another software company and will be leaving Microsoft. […]&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;However, I will still be part of the F# community and you will definitely see a second edition of Programming F# when the time comes.&amp;#160; &lt;strong&gt;In fact, next Tuesday 4/20 I’ll be giving a talk: &lt;/strong&gt;&lt;/em&gt;&lt;a href="http://www.communityforfsharp.net/april-2010-live-meeting-detail"&gt;&lt;em&gt;&lt;strong&gt;Writing a Java to x86 Compiler in F#&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;strong&gt; at 11:00AM PST.&lt;/strong&gt; &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.navision-blog.de/2010/04/13/fake-f-sharp-make-and-naturalspec-released/"&gt;Steffen Forkmann’s “FAKE – F# Make” and NaturalSpec 1.0 Released&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Yesterday Microsoft released the RTM versions of Visual Studio 2010, .NET Framework 4.0 and F# 2.0.0.0 and so it is time to announce the first official releases of “Fake – F# Make” and NaturalSpec. Both projects are now compatible with Visual Studio 2010 RC and RTM and the corresponding F# versions.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://fsharprefactor.codeplex.com/"&gt;F# Refactor (No Release Yet, Check out the Repository)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Deisgned to bring Code Refactoring capabilities to the F# Language in Visual Studio 2010.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Brian McNamara’s &lt;a href="http://lorgonblog.spaces.live.com/blog/cns!701679AD17B6D310!1886.entry"&gt;Using VS2010 to edit F# source code (and a little LOGO EDSL)&lt;/a&gt; and &lt;a href="http://lorgonblog.spaces.live.com/Blog/cns!701679AD17B6D310!1895.entry"&gt;Fun with turtle-graphics in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The code on the screen during the video is a little &lt;/em&gt;&lt;em&gt;EDSL&lt;/em&gt;&lt;em&gt; (Embedded Domain-Specific Language) for a subset of LOGO.&amp;#160; The full code is below; you can just copy it into an F# application project to run it.&lt;/em&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://lorgonblog.spaces.live.com/Blog/cns!701679AD17B6D310!1882.entry"&gt;Brian McNamara and Chris Smith’s Alt.NET Workshop slides and code&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Chris and I each had our own slide deck, so to go in order you’ll have to switch back and forth between the two decks, like we did during the talk (Chris’s intro, my part on functional programming, Chris’s section on OO programming, my part on Async, Chris’s case study).&amp;#160; At the end of my deck there’s also some bonus slides on units of measure that we didn’t have time for.&lt;/em&gt;&amp;#160; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.sdtimes.com/link/34251"&gt;David Worthington’s ‘Midori’ concepts materialize in .NET&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;quot;Midori is an attempt to create a new foundation for the operating system that runs ‘inside the box,’ on the desktop and in the rack. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://techneilogy.blogspot.com/2010/04/sliding-block-puzzle-in-f-and-wpf.html"&gt;Neil Carrier’s Sliding Block Puzzle in F# and WPF&lt;/a&gt; and     &lt;br /&gt;&lt;a href="http://techneilogy.blogspot.com/2010/04/simple-wpf-animation.html"&gt;Simple WPF Animation&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I realized that I wanted something more visual with which to test my search algorithms. I have also been wanting to learn how to write WPF applications using F#. To that end, I offer the following F#/WPF application of the famous Fifteen Puzzle, the ancestor of all sliding-block puzzles.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;em&gt;&amp;#160;&lt;/em&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://techneilogy.blogspot.com/2010/04/generic-binary-heap.html"&gt;Neil Carrier’s Generic Binary Heap&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I'm pretty sure I'm going to need a priority queue for my A* search, so I decided to code a generic heap class in F#. The F# code below is largely a translation from Robert Sedgewick's Algorithms in C (Parts 1-4).&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.trelford.com/blog/post/Whate28099s-happening-Loosely-coupled-events.aspx"&gt;Phillip Trelford’s What’s happening? Loosely coupled events&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;For example if you wanted to publish an event from any window that could be observed by any other window without them all having intimate knowledge of each other.&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.trelford.com/blog/post/Implementing-IObservable-and-extending-Observable.aspx"&gt;Phillip Trelford’s Implementing IObservable and extending Observable&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Following on from my post yesterday on implementing loosely coupled events; the following somewhat longer F# sample provides a simple System.IObservable&amp;lt;T&amp;gt; implementation for event consumers.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://bloggemdano.blogspot.com/2010/04/distributed-hash-table-dht-in-f-using.html"&gt;Daniel Mohl’s A DHT in F#: Using Higher Order Functions for the Service Operation Calls&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In my last post, I provided a start to a distributed hash table in F# using WCF.&amp;#160; One of the major limitations of that example was that only two nodes could ever be on the node network at a given time.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://bloggemdano.blogspot.com/2010/04/talking-to-couchdb-via-f-and-symbiote.html"&gt;Daniel Mohl’s Talking to CouchDB via F# and Symbiote&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;Alex Robson recently announced a set of libraries that, among other things, makes talking with CouchDB from a .NET language very easy. […] As you can see, interacting with CouchDB via F# and Symbiote is a snap.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://v2matveev.blogspot.com/2010/04/mailboxprocessors-erlang-style.html"&gt;Vladimir Matveev’s MailboxProcessors: Erlang-style concurrency&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;MailboxProcessor is combination of message queue and message handler build atop of Asyncs infrastructure.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://geekswithblogs.net/MarkPearl/archive/2010/04/13/f-and-the-useful-infinite-sequence-i-think.aspx"&gt;Mark Pearl’s F# and the useful infinite Sequence (I think)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;So the question is begged - how would you create a sequence that you are sure will be large enough to hold the solution to the problem? Well… You can’t know!&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/04/12/f-the-defaultarg-function/"&gt;Mark Needham’s F#: The ‘defaultArg’ function&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;While reading through an old blog post by Matthew Podwysocki about writing F# code in a functional rather than imperative way I came across the 'defaultArg' function which I haven't seen previously.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;   &lt;blockquote&gt;     &lt;p&gt;&lt;a href="http://blog.andresays.org/2010/04/f-microsofts-new-functional-language/"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&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/2010/04/16/f-discoveries-this-week-04-16-2010.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+04%2f16%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/16/f-discoveries-this-week-04-16-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/04/16/f-discoveries-this-week-04-16-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+04%2f16%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/16/f-discoveries-this-week-04-16-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/04/16/f-discoveries-this-week-04-16-2010.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/16/f-discoveries-this-week-04-16-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/04/16/f-discoveries-this-week-04-16-2010.aspx&amp;amp;title=F%23+Discoveries+This+Week+04%2f16%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/16/f-discoveries-this-week-04-16-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/04/16/f-discoveries-this-week-04-16-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+04%2f16%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/16/f-discoveries-this-week-04-16-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/04/16/f-discoveries-this-week-04-16-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+04%2f16%2f2010&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/04/16/f-discoveries-this-week-04-16-2010.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=20507" 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/NaturalSpec/default.aspx">NaturalSpec</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/wpf/default.aspx">wpf</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/Infinite+Sequences/default.aspx">Infinite Sequences</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/fake/default.aspx">fake</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Mailboxes/default.aspx">Mailboxes</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/F_2300_+2.0/default.aspx">F# 2.0</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/keyboard+shortcuts/default.aspx">keyboard shortcuts</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/LOGO/default.aspx">LOGO</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/refactor/default.aspx">refactor</category></item><item><title>F# Discoveries This Week 02/25/2010</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/25/f-discoveries-this-week-02-25-2010.aspx</link><pubDate>Thu, 25 Feb 2010 21:31:07 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:20254</guid><dc:creator>RickM</dc:creator><slash:comments>2</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/20254.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=20254</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=20254</wfw:comment><description>&lt;p&gt;Between Atalasoft, Professional F# 2.0 and the MVP Summit I’ve been completely swamped and ended up with quite a backlog of posts.&amp;#160; Between the Brian-Chris F# Code Battle, Luca’s LChart, Ashley’s continuing FScheme series and Matthew’s MongoDB stuff I’m not sure I can pick a favorite.&amp;#160; That’s not true, I’d go right for the DAWG-fight series.&amp;#160; The arcane secrets of F# optimization await inside.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://channel9.msdn.com/shows/Going+Deep/C9-Lectures-Dr-Don-Syme-Introduction-to-F-3-of-3/"&gt;C9 Lectures: Dr. Don Syme - Introduction to F#, 3 of 3&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In Part 3 of this 3-part lecture series, Dr. Don Syme elaborates further on: Patterns, Object Basics, [and] Imperative Programming.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/dsyme/archive/2010/02/15/async-and-parallel-design-patterns-in-f-part-3-agents.aspx"&gt;Dr. Don Syme’s Async and Parallel Design Patterns in F#: Agents&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In part 3 of this series, we explore lightweight, reactive agents in F# and look at some typical design patterns associated with these agents, including isolated internal state.&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/chrsmith/archive/2010/02/17/dawg-fight-optimizing-text-search-in-f-ii.aspx"&gt;Chris Smith’s DAWG-fight, Optimizing text search in F# II&lt;/a&gt; and &lt;a href="http://lorgonblog.spaces.live.com/Blog/cns!701679AD17B6D310!1803.entry"&gt;Dr. Brian McNamara’s DAWG-Gone&lt;/a&gt; (F# Language Team Code Battle Summary) &lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;So today I’ll walk you through what Chris did right (shortest… subsection… ever!), as well as what he did wrong (get comfy in your chair), and then show my own implementation.&lt;/em&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Luca Bolognese’s LChart: Displaying Charts in F# Parts &lt;a href="http://blogs.msdn.com/lucabol/archive/2010/02/17/lchart-displaying-charts-in-f-part-i.aspx"&gt;One&lt;/a&gt;, &lt;a href="http://lucabolognese.wordpress.com/2010/02/17/lchart-displaying-charts-in-f-part-ii/"&gt;Two&lt;/a&gt; and &lt;a href="http://lucabolognese.wordpress.com/2010/02/19/lchart-displaying-charts-in-f-part-iii/"&gt;Three&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I want to use F# as a exploratory data analysis language (like R). But I don’t know how to get the same nice graphic capabilities. So I decided to create them. Here is a library to draw charts in F#.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Dr. Brian McNamara’s An RSS Dashboard in F# Parts &lt;a href="http://lorgonblog.spaces.live.com/blog/cns!701679AD17B6D310!1780.entry"&gt;Four&lt;/a&gt;, &lt;a href="http://lorgonblog.spaces.live.com/Blog/cns!701679AD17B6D310!1790.entry"&gt;Five&lt;/a&gt; and &lt;a href="http://lorgonblog.spaces.live.com/Blog/cns!701679AD17B6D310!1802.entry"&gt;Six&lt;/a&gt;.&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;You can see from the colors in the screenshot from part one what I desired, but this requires knowing which links are ‘visited’ and which are not, so I can color each link appropriately.&amp;#160; It turns out, this information can be had via unusual means…&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Ashley Feniello’s FScheme Parts &lt;a href="http://blogs.msdn.com/ashleyf/archive/2010/02/11/turning-your-brain-inside-out-with-continuations.aspx"&gt;Ten&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/ashleyf/archive/2010/02/21/playing-dice-with-the-universe.aspx"&gt;Eleven&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;We’re now taking the first small step into the world of nondeterministic logic programming (chapter 16 of Bill Hails’ book). Hopefully you enjoyed the last post about continuation passing and found the idea to be ripe with potential power; indeed so powerful that we’re going to use it now to bifurcate the universe! No really, we are…&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/lucabol/archive/2010/02/12/a-simpler-f-mailboxprocessor.aspx"&gt;Luca Bolognese’s A simpler F# MailboxProcessor&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I always forget the pattern to use to create a functioning MailboxProcessor in F#. I mean, which piece has to be async and how to structure the recursive loop. When I find myself in that kind of a situation situation, my instincts scream at me: “Wrap it and make it work how your mind expects it to work”. So here is a simplification of the paradigm.&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/02/11/the-f-powerpack-released-on-codeplex.aspx"&gt;Matthew Podwysocki’s The F# PowerPack Released on CodePlex&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;As announced yesterday, the new February 2010 release of F# is out. This release is much more of a stabilization release instead of adding a lot of features including improvements in tooling, the project system and so on.&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/02/09/exploring-mongodb-with-f.aspx"&gt;Matthew Podwysocki’s Exploring MongoDB with F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I just want a quick answer with the data I have.&amp;#160; There was one issue of course that nagged me which was the ubiquitous use of strings for everything from databases, collections, and keys.&amp;#160; With a language such as F#, could we do any better than 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://weblogs.asp.net/podwysocki/archive/2010/02/10/f-and-the-dynamic-lookup-operator-ala-c.aspx"&gt;Matthew Podwysocki’s F# and the Dynamic Lookup Operator ala C#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In the F# language, we have the ability to define two “dynamic” operators, a get member operator denoted by the ( ? ), and the set member operator denoted by the ( ?&amp;lt;- ).&amp;#160; The F# language and its associated libraries do not have an actual implementation of these operators, but instead allow you to implement them as you see fit. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Steve Gilham’s Updating F# posts to 1.9.9.9 Parts &lt;a href="http://stevegilham.blogspot.com/2010/02/updating-f-posts-to-1999-part-1-before.html"&gt;One&lt;/a&gt; and &lt;a href="http://stevegilham.blogspot.com/2010/02/updating-f-posts-to-1999-part-2-october.html"&gt;Two&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Possibly a few more issues will come out as I reconstitute my analysis tool, which is currently undergoing a retooling of its build system to automate some of the manual checks for whether the operational tests succeeded or not.&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.navision-blog.de/2010/02/14/fake-f-make-0-29-released-ready-for-f-february-2010-ctp-and-net-4-0-rc/"&gt;Steffen Forkmann’s FAKE – F# Make 0.29 Released&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Last week I released version 0.29 of my build automation tool “FAKE – F# Make”. The new version comes along with a couple of changes which I will now describe.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://langexplr.blogspot.com/2010/02/using-webcam-with-directshownet-and-f.html"&gt;Luis Diego Fallas’s Using a Webcam with DirectShowNET and F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In this post I'm going to show a small F# example of using DirectShowNET to access a webcam and manipulate the image data.&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/02/15/f-passing-an-argument-to-a-member-constraint/"&gt;Mark Needham’s F#: Passing an argument to a member constraint&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I've written previously about function overloading in F# and my struggles working out how to do it and last week I came across the concept of inline functions and statically resolved parameters as a potential way to solve that problem.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Julien Ortin’s &lt;a href="http://lepensemoi.free.fr/index.php/2010/02/10/bittorrent-bencoded-values-in-f"&gt;BitTorrent Bencoded values&lt;/a&gt; and &lt;a href="http://lepensemoi.free.fr/index.php/2010/02/13/bittorrent-metainfo-file-handling-in-f"&gt;BitTorrent Metainfo file handling&lt;/a&gt; in F#&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Byte strings can be strings represented as byte strings (such as the description of the exchanged data), as well as an array of bytes (such as a hash). Representing them with the .Net strings can thus lead to errors. Hence we shall keep the byte array representation.&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/2010/02/11/skew-binomial-heap"&gt;Skew binomal heap&lt;/a&gt;, a &lt;a href="http://lepensemoi.free.fr/index.php/2010/02/11/bankers-double-ended-queue"&gt;Banker’s double-ended queue&lt;/a&gt;, a &lt;a href="http://lepensemoi.free.fr/index.php/2010/02/11/alternative-binary-random-access-list"&gt;Alternative binary random access list&lt;/a&gt;, a &lt;a href="http://lepensemoi.free.fr/index.php/2010/02/18/bootstrapped-queue"&gt;Bootstrapped queue&lt;/a&gt;, and a &lt;a href="http://lepensemoi.free.fr/index.php/2010/02/18/implicit-queue"&gt;Implicit queue&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&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.scottseely.com/Blog/10-01-13/F_is_Changing_My_Style.aspx"&gt;Scott Seely’s F# is Changing My Style&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The types I’m interested are concrete (no abstract methods) and have a zero-argument constructor. A few years ago, I would have done a bunch of looping constructs to look at each element. However, I’ve been doing a lot more work with F#. While doing this experiment in C# for a project, I wound up writing the following instead:&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://stevegilham.blogspot.com/2010/02/it-almost-feels-like-cheating.html"&gt;Steve Gilham’s It almost feels like cheating…&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Having renamed all the .c files as .cpp, getting a first building assembly was simple, and then making it refer to an initially empty F# library, no problem; and then setting up an (again, initially empty) unit test assembly depending on both (where vice-tests to match up new and old implementations, and their eventual unit test replacements can accumulate), just as normal.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://bradclow.blogspot.com/2010/02/f-examples-talk-at-bfg.html"&gt;Brad Clow’s F# Examples talk at BFG&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Earlier this week I gave a short talk at the Brisbane Functional Group on F#. The idea was to give an introductory feel for the language by way of some simple 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://www.trelford.com/blog/post/F-Talk-at-Edge-UG-Slides-and-Demos.aspx"&gt;Phillip Trelford’s F# Talk at Edge UG: Slides and Demos&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I presented a 1 hour talk introducing F# with 4 demos (attached to this post):&amp;#160; Full-screen WPF POS Checkout sample with Barcode scanner integration (in 100 lines).&amp;#160; Twitter WPF client script (200 lines).&amp;#160; Matermind board game in WPF (300 lines).&amp;#160; Lunar Lander XNA game (&amp;gt;400 lines). &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blog.mwjackson.net/?p=40"&gt;Matt Jackson’s AssertWasCalled in F# (or how I learned to stop worrying and hate extension methods)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Unfortunately, this upcasting led me on a short goose chase to find out which interface in the Rhino Mocks codebase was responsible for AssertWasCalled only to realise that it was an extension method sitting hiding away somewhere else.&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/02/25/f-discoveries-this-week-02-25-2010.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+02%2f25%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/25/f-discoveries-this-week-02-25-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/02/25/f-discoveries-this-week-02-25-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+02%2f25%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/25/f-discoveries-this-week-02-25-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/02/25/f-discoveries-this-week-02-25-2010.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/25/f-discoveries-this-week-02-25-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/02/25/f-discoveries-this-week-02-25-2010.aspx&amp;amp;title=F%23+Discoveries+This+Week+02%2f25%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/25/f-discoveries-this-week-02-25-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/02/25/f-discoveries-this-week-02-25-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+02%2f25%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/25/f-discoveries-this-week-02-25-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/02/25/f-discoveries-this-week-02-25-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+02%2f25%2f2010&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/25/f-discoveries-this-week-02-25-2010.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=20254" 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/optimization/default.aspx">optimization</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/powerpack/default.aspx">powerpack</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/async/default.aspx">async</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/fake/default.aspx">fake</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/FScheme/default.aspx">FScheme</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/scheme/default.aspx">scheme</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/rss/default.aspx">rss</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/DAWG/default.aspx">DAWG</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/LChart/default.aspx">LChart</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Mailboxes/default.aspx">Mailboxes</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/MongoDB/default.aspx">MongoDB</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/charting/default.aspx">charting</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Dynamic+Lookup/default.aspx">Dynamic Lookup</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/parallel/default.aspx">parallel</category></item><item><title>F# Discoveries This Week 02/08/2010</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/08/f-discoveries-this-week-02-08-2010.aspx</link><pubDate>Mon, 08 Feb 2010 19:28:41 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:20161</guid><dc:creator>RickM</dc:creator><slash:comments>2</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/20161.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=20161</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=20161</wfw:comment><description>&lt;p&gt;Back again with another F# community roundup.&amp;#160;&amp;#160; There’s been a ton of great content this week, almost too much.&amp;#160; To try to combat this I’ve attempted to sort posts roughly in terms of how interesting I found them.&amp;#160; All were worth the read though.&lt;/p&gt;  &lt;p&gt;Also, I’ll be speaking this Wednesday on F# at the &lt;a href="http://www.bostondotnet.org/"&gt;Boston .NET User Group&lt;/a&gt;.&amp;#160; If you find yourself there, be sure to say hello!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://channel9.msdn.com/shows/Going%20Deep/C9-Lectures-Dr-Don-Syme-Introduction-to-F-1-of-3/"&gt;Don Syme’s Introduction to F# (Video 1 of 3)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Dr. Don Syme is a principal researcher in MSR Cambridge. He has a rich history in programming language research, design, and implementation (C# generics being one of his most recognized implementations), and is the principle creator of 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://blogs.msdn.com/ashleyf/archive/2010/01/30/language-vs-library.aspx"&gt;Ashley Feniello’s FScheme Part 8: Language vs. Library&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Perhaps this post should have gone along with the one about macros and how Lisp is a “programmable programming language.” The common tension in any language or runtime design is how much to build in as primitives and how much to implement as libraries within the language or atop the runtime.&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/lukeh/archive/2010/02/01/f-for-parallel-and-asynchronous-programming-pdc-2009.aspx"&gt;Luke Hoban’s F# for Parallel and Asynchronous Programming&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Last November at PDC 2009 in Los Angeles I gave a talk on F# for Parallel and Asynchronous Programming.&amp;#160; The talk begins by covering basic F# concepts, and then focuses on four challenging issues related to concurrency and the tools F# brings for addressing these - immutability, async workflows, and agents.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://brehaut.net/blog/2010/on_iteration"&gt;Andrew Brehaut’s On Iteration (Could just as well be entitled “Why Programmers Leave Python/C#/Java&amp;quot;)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;There is an observable trend in Python programmers that results in a reasonable section of them moving to functional programming languages. This trend is encouraged by the Python language, and has a couple of temporal considerations.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://weblogs.asp.net/podwysocki/archive/2010/02/05/using-and-abusing-the-f-dynamic-lookup-operator.aspx"&gt;Matthew Podwysocki’s Using and Abusing the F# Dynamic Lookup Operator&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Much like C# 4.0 has the ability to do dynamic lookup, F# also has the same capability, although in a different capacity.&amp;#160; The language has support for a dynamic lookup get operator ( ? ) and set operator ( ?&amp;lt;- ), but note that I said support and not actual implementation.&amp;#160; The actual implementation is up to you and how you want to use it.&lt;/em&gt;&amp;#160;&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/02/01/a-kick-in-the-monads-writer-edition.aspx"&gt;Matthew Podwysocki’s A Kick in the Monads – Writer Edition&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In the past couple of Monads posts, we’ve talked briefly about the State and Reader Monads and their potential uses and misuses.&amp;#160; Before this series completes, I have a few more to cover including the Writer, Continuation and eventually Observable monad.&amp;#160; Today, we’ll get started looking at the Writer Monad and what it can do for us.&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/ashleyf/archive/2010/02/06/recursion-is-the-new-iteration.aspx"&gt;Ashley Feniello’s Recursion Is the New Iteration&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Not all recursive expressions represent recursive behavior. In fact, iteration can be expressed recursively. One trick when considering the process that an expression represents is to think of functions as reducing to values rather than returning them. In a pure functional style (precisely because of referential transparency) you can do analysis by successive substitution.&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/2010/02/05/real-time-double-ended-queue"&gt;Real-time double-ended queue&lt;/a&gt;, a &lt;a href="http://lepensemoi.free.fr/index.php/2010/02/05/skew-binary-random-access-list"&gt;Skew binary random access list&lt;/a&gt; and a &lt;a href="http://lepensemoi.free.fr/index.php/2010/02/05/binary-random-access-list"&gt;Binary random access list&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&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://fsharpnews.blogspot.com/2010/02/john-conways-game-of-life-in-32-lines.html"&gt;Flying Frog Consultancy Presents - John Conway’s Game of Life in 32 lines of F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;John Conway's Game of Life is a famous example of a simple cellular automaton that produces remarkably diverse results. The game can be implemented in only 32 lines of F# including real-time visualization using Windows Presentation Foundation as follows:&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://lorgonblog.spaces.live.com/blog/cns!701679AD17B6D310!1778.entry"&gt;Brian McNamara’s An RSS Dashboard in F# (Part 3)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Last time I covered IObservables and we created a useful ObservableSource class.&amp;#160; Today I’ll cover the next technology piece of the app: reading RSS feeds.&amp;#160; I’ll discuss the design considerations regarding how to poll feed for updates and publish feed items as IObservables, and walk through one implementation.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://nickgravelyn.com/2010/02/pong-in-fsharp-with-xna-game-studio/"&gt;Nick Gravelyn’s Pong in F# with XNA Game Studio&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;A few of my colleagues were discussing F# today and when/where/how it is/isn’t better than C#. I haven’t ever really used F# beyond a very, very brief look at the syntax, so tonight I decided to see what it was all about. As a little project, I decided to make Pong with XNA Game Studio using F# with Visual Studio 2010.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://cultivatingcode.com/2010/02/03/maybe-f-isnt-for-you/"&gt;Jim Burger’s Maybe F# isn’t for you…&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;If you aren’t excited about new ways to tackle the concurrency problem, or new approaches to handling generic and mathematical problems, and if the thought of breaking out the shiny new lexer and parser don’t give you a tingle, then maybe F# isn’t actually marketed at you at all.&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.codeproject.com/KB/net-languages/COBOL-FSharp1.aspx"&gt;Alex Turner’s Calling F# from COBOL and Back Again (CodeProject)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Running languages on .NET is ultra-powerful. Using managed COBOL (from Micro Focus), it is possible to use F# code to work with COBOL code. Imagine a Cloud based F# map reduce system consuming legacy COBOL - yes, that really is on the horizon.&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.navision-blog.de/2010/02/08/new-syntactic-sugar-for-fake-f-make-getting-rid-of-magic-strings/"&gt;Steffen Forkmann’s New syntactic sugar for “FAKE – F# Make”&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The new version 0.27 of “FAKE – F# Make” comes with new syntactic sugar for build targets and build dependencies. Don’t be afraid the old version is still supported – all scripts should still work with the new 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://blogs.msdn.com/jaredpar/archive/2010/02/03/having-fun-with-events-in-f.aspx"&gt;Jared Parsons’s Having fun with events in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;h6&gt;&lt;/h6&gt;    &lt;p&gt;&lt;em&gt;Recently I ran into a situation where I needed to handle some events in F# in a special way.&amp;#160; In this particular case I wanted to be able to disable and re-enable my handler based on changes in the program.&amp;#160; Essentially the C# equivalent of continually adding and removing the handlers.&lt;/em&gt;&amp;#160; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://stevegilham.blogspot.com/2010/01/glade-from-f.html"&gt;Steve Gilham’s “Hello Glade#” from F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Another bit of spiking, a rather tardy follow up from raw GTK#, starting from the C# example at the Mono Project site, but incorporating the earlier example, so as to build in a clean application exit, for one thing.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://langexplr.blogspot.com/2010/02/using-webcam-with-wia-and-f.html"&gt;Luis Diego Fallas’s Using a Webcam with WIA and F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In this post I'm going to show a small example of taking a picture using a Webcam with Windows Image Adquisition 1.0 . This API seems to have changed in Vista and above, the following code only applies to XP.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://fsharpnews.blogspot.com/2010/02/tic-tac-toe-demo.html"&gt;Flying Frog Consultancy’s WPF Tic-tac-toe demo&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The article walks through the design and implementation of a multithreaded program that uses logic programming to create an unbeatable computer opponent and Windows Presentation Foundation to provide a graphical user interface in only 115 lines of elegant F# code!&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://developers.slashdot.org/story/10/02/07/0059233/An-Interview-With-F-Creator-Don-Syme"&gt;A (Relatively Reasonable) Discussion of F# on Slashdot&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;OCatenac passes along an interview with Don Syme, chief designer of F#, which is Microsoft Research's offering for functional programming on the .Net platform. Like Scala, which we discussed last fall, F# aims at being an optimal blend of functional and object-oriented languages.&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/02/08/f-discoveries-this-week-02-08-2010.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+02%2f08%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/08/f-discoveries-this-week-02-08-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/02/08/f-discoveries-this-week-02-08-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+02%2f08%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/08/f-discoveries-this-week-02-08-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/02/08/f-discoveries-this-week-02-08-2010.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/08/f-discoveries-this-week-02-08-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/02/08/f-discoveries-this-week-02-08-2010.aspx&amp;amp;title=F%23+Discoveries+This+Week+02%2f08%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/08/f-discoveries-this-week-02-08-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/02/08/f-discoveries-this-week-02-08-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+02%2f08%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/08/f-discoveries-this-week-02-08-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/02/08/f-discoveries-this-week-02-08-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+02%2f08%2f2010&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/02/08/f-discoveries-this-week-02-08-2010.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=20161" 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/wpf/default.aspx">wpf</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/recursion/default.aspx">recursion</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/events/default.aspx">events</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fake/default.aspx">fake</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/slashdot/default.aspx">slashdot</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/xna/default.aspx">xna</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/scheme/default.aspx">scheme</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/rss/default.aspx">rss</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/WIA/default.aspx">WIA</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/webcam/default.aspx">webcam</category></item><item><title>F# Discoveries This Week 01/05/2010</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/05/f-discoveries-this-week-1-05-2010.aspx</link><pubDate>Tue, 05 Jan 2010 21:10:05 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:20002</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/20002.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=20002</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=20002</wfw:comment><description>&lt;p&gt;It’s 2010, the year of F#, and the quantity of posts in this last week reflects it.&amp;#160; Not to pick favorites but the work Tomas Petricek has been doing with Accelerator is amazing, be sure to check it out.&lt;/p&gt;  &lt;p&gt;Also, I’d like to thank everyone who supported me on the road to becoming a Microsoft MVP.&amp;#160; I couldn’t have done it without you.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://tomasp.net/blog/accelerator-dataparallel.aspx"&gt;Tomas Petricek parallelizes Quotations with Accelerator&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In this article, we'll look at more sophisticated way of using Accelerator from F#. We'll introduce F# quotations and look at translating 'normal' F# code to use Accelerator.&lt;/em&gt;&lt;em&gt;&lt;em&gt;&lt;/em&gt;&lt;/em&gt; &lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;em&gt;&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&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/04/beta2-updates-to-the-f-jaoo-tutorial-code.aspx"&gt;Don Syme Posts updates his F# JAOO tutorial code&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I've now updated this tutorial code for the F# Visual Studio 2010 Beta2 release (with matching CTP release for Visual Studio 2008). We've also added some more content and explanatory comments.&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/2009/12/30/much-ado-about-monads-state-edition.aspx"&gt;Matthew Podwysocki investigates the State Monad&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In the past, I’ve had a series on Much Ado About Monads where I look at the basic Monads such as Maybe and List, but this time, let’s look at what we can do with the State Monad.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://web.conf.hu/sites/default/files/HWC-2009-ClientBasedWebApplicationDevelopmentInFSharp.pdf"&gt;Adam Granicz shows off WebSharper at the Hungarian Web Conference&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In this talk, I will present our new web development platform, WebSharper(TM), that leverages the power and expressiveness of F# to allow .NET developers to write robust web applications in mere hours.&lt;/em&gt; &lt;/p&gt;    &lt;p&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&lt;a href="http://refcardz.dzone.com/refcardz/essential-f?oid=hom16267"&gt;Chance Coble and Ted Neward release DZone Refcardz for F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This DZone Refcard will lead you through the basic essentials so that you can quickly move on to using this Functional Programming Language for creating some mind-bending code.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://talbottc.spaces.live.com/Blog/cns!A6E0DA836D488CA6!422.entry"&gt;Talbott Crowell posts his FSUG Parallel Programming Talk &lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In this video, I discuss some of the advantages of .NET 4 and F# for asynchronous programming plus some of the new analysis tools built into Visual Studio 2010 for visualizing concurrency.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://bitbucket.org/forki/fake/wiki/Home"&gt;Steffen Forkmann creates a ‘FAKE – F# Make’ group on BitBucket and releases version 0.17&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Due to its integration in F#, all benets of the .NET Framework and functional programming can be used, including the extensive class library, powerful debuggers and integrated development environments like Visual Studio 2008 or SharpDevelop, which provide syntax highlighting and code completion.&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/31/physicist-queue"&gt;Physicist Queue&lt;/a&gt;, a &lt;a href="http://lepensemoi.free.fr/index.php/2009/12/31/lazy-binomial-heap"&gt;Lazy Binomal Heap&lt;/a&gt; and a &lt;a href="http://lepensemoi.free.fr/index.php/2009/12/31/bankers-queue"&gt;Bankers Queue&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&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://stackoverflow.com/questions/1989487/f-development-and-unit-testing"&gt;Mathias Brandewinder StackOverflows on Unit Testing with F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;So far, my process with F# has been to write some functions, play with them with the interactive console until I am &amp;quot;reasonably&amp;quot; sure they work, and tweak &amp;amp; combine. This works well on small-scale problems like the Euler Project, but I can't imagine building something large that way.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://muckandbrass.com/web/display/~cemerick/2009/12/30/All+my+methods+take+316+arguments%2C+and+I+like+it+that+way"&gt;Chas Emerick demonstrates the problem with mutable objects&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;316 arguments to a method (which I don't think is actually possible in the jvm, but bear with me)? &amp;quot;That's absurd!&amp;quot;, you'd say. The problem, of course, is that the 3-arg doSomething actually has far more arguments than its signature implies:&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://stasyan.wordpress.com/2009/12/31/red-and-black-tree-in-f/"&gt;A Mysterious Stranger implements a Red-Black Tree&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Both 2-4 and Red and Black tress are self balancing trees. They are kind of like cousins, since one could be converted into the other quite easily. Hence all performance analysis that apply to 2-4 trees applies to Red and Black trees.&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/04/f-expressing-intent-and-the-forwardapplication-operators/"&gt;Mark Needham discusses expressing intent with application operators&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;While trying out Roy Osherove's TDD Kata I realised that perhaps the choice of which of these to use or whether to use them at all depends on what intent we're expressing.&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/05/f-discoveries-this-week-1-05-2010.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+01%2f05%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/05/f-discoveries-this-week-1-05-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/05/f-discoveries-this-week-1-05-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+01%2f05%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/05/f-discoveries-this-week-1-05-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/05/f-discoveries-this-week-1-05-2010.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/05/f-discoveries-this-week-1-05-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/05/f-discoveries-this-week-1-05-2010.aspx&amp;amp;title=F%23+Discoveries+This+Week+01%2f05%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/05/f-discoveries-this-week-1-05-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/05/f-discoveries-this-week-1-05-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+01%2f05%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/05/f-discoveries-this-week-1-05-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/05/f-discoveries-this-week-1-05-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+01%2f05%2f2010&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/01/05/f-discoveries-this-week-1-05-2010.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=20002" 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/fsug/default.aspx">fsug</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/quotations/default.aspx">quotations</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/WebSharper/default.aspx">WebSharper</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/fake/default.aspx">fake</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/state/default.aspx">state</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/monad/default.aspx">monad</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Refcardz/default.aspx">Refcardz</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/JAOO/default.aspx">JAOO</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/tutorial/default.aspx">tutorial</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/opinion/default.aspx">opinion</category></item></channel></rss>