<?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 : optimization, linqpad, clr</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/tags/optimization/linqpad/clr/default.aspx</link><description>Tags: optimization, linqpad, clr</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>F# Discoveries This Week 09/12/2010</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/12/f-discoveries-this-week-09-12-2010.aspx</link><pubDate>Sun, 12 Sep 2010 19:06:30 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:21002</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/21002.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=21002</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=21002</wfw:comment><description>&lt;p&gt;&lt;/p&gt;  &lt;p align="left"&gt;Perhaps a day late but certainly not a dollar short, I’ve gathered every piece of relevant F# information I could find for your consuming pleasure.&amp;#160; I do have a rather good excuse for the delay this time around.&lt;/p&gt;  &lt;p align="left"&gt;Yesterday I handed in my very final edits for &lt;a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-047052801X.html"&gt;Professional F# 2.0&lt;/a&gt;.&amp;#160; It’s very exciting to have wrapped up the final details of our first edition.&amp;#160; It will be shipping within the next couple of months and I’m just dying to hear what you all think of it.&lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;    &lt;h1 align="center"&gt;News&lt;/h1&gt;    &lt;h3 align="left"&gt;&lt;a href="http://research.microsoft.com/en-us/events/fsharpined/"&gt;Microsoft Research's F# in Education Workshop on November 5th&lt;/a&gt;&lt;/h3&gt;    &lt;blockquote&gt;     &lt;p align="left"&gt;&lt;em&gt;“F# in Education is a one-day workshop for educators and industrialists, to be held in Cambridge, Massachusetts, U.S., on November 5, 2010.”&lt;/em&gt;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;h3 align="left"&gt;&lt;a href="http://fsug.org"&gt;FSUG's September 13th Meeting – Vladimir Matveev on Web Development in F#&lt;/a&gt;&lt;/h3&gt;    &lt;blockquote&gt;     &lt;p align="left"&gt;“In this talk I will give a WebSharper overview and explore its applications.&amp;#160; Code samples will include: rich client-side programming capabilities (WebExcel), integration with existing JavaScript libraries (demo with minor subset of JsRX), and client-server communication.”&lt;/p&gt;   &lt;/blockquote&gt;    &lt;h3 align="left"&gt;&lt;a href="http://tvug.net/blogs/tvug_news_and_events/archive/2010/09/10/september-meeting-f.aspx"&gt;TVUG's September 16th Meeting - F# and You!&lt;/a&gt;&lt;/h3&gt;    &lt;blockquote&gt;     &lt;p align="left"&gt;&lt;em&gt;“Come to our September 16th meeting where Rick Minerich will present F#. F# is a programming language that provides support for functional programming in addition to traditional object-oriented and imperative (procedural) programming.”&lt;/em&gt;&lt;/p&gt;   &lt;/blockquote&gt;   &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;    &lt;h1 align="center"&gt;Audio and Video&lt;/h1&gt; &amp;#160;&amp;#160;   &lt;h3 align="left"&gt;&lt;a href="http://skillsmatter.com/podcast/open-source-dot-net/don-syme-on-f"&gt;Don Syme's A Taste of F# Today&lt;/a&gt;&lt;/h3&gt;    &lt;blockquote&gt;     &lt;p align="left"&gt;&lt;em&gt;“Don Syme, the architect of F#, presents to the London F# user group”&lt;/em&gt;&lt;/p&gt;   &lt;/blockquote&gt;   &lt;p align="left"&gt;&lt;/p&gt;  &lt;p align="left"&gt;&lt;/p&gt;    &lt;h3 align="left"&gt;&lt;a href="http://www.youtube.com/watch?v=ALr212cTpf4"&gt;Microsoft Research's F# - Putting the Fun into Functional Programming&lt;/a&gt;&lt;/h3&gt;    &lt;blockquote&gt;     &lt;p align="left"&gt;&lt;em&gt;“Microsoft Researchers discuss F# and it's many applications.”&lt;/em&gt;&lt;/p&gt;   &lt;/blockquote&gt;   &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;    &lt;h1 align="center"&gt;Tools&lt;/h1&gt;    &lt;h3 align="left"&gt;&lt;a href="http://www.linqpad.net/beta.aspx"&gt;LINQPad - 4.26.2 Beta&lt;/a&gt;&lt;/h3&gt;    &lt;blockquote&gt;     &lt;p align="left"&gt;&lt;em&gt;“You can now to use LINQPad as a F# scratchpad”&lt;/em&gt;&lt;/p&gt;   &lt;/blockquote&gt;   &lt;p align="left"&gt;&amp;#160;&lt;/p&gt;  &lt;h1 align="center"&gt;General&lt;/h1&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://tomasp.net/blog/fsharp-parallel-samples.aspx"&gt;Tomas Petricek's Parallel Programming in F# Parts 1 - 4&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Parallel Programming with Microsoft .NET [^] is a guide written by the patterns &amp;amp; practices group at Microsoft. It introduces .NET programmers to patterns for including parallelism in their applications (using support for parallel programming in .NET 4.0).”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/b/lukeh/archive/2010/09/05/twitter-oauth-in-f.aspx"&gt;Luke Hoban's Twitter OAuth in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Recently, Twitter moved to require OAuth for accessing Twitter APIs on behalf of a user. Below is the F# code I wrote to integrate OAuth, which should work for any other F# Twitter scripts and apps.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://thycoticsolutionsblog.wordpress.com/2010/09/10/lexing-and-parsing-with-f-part-i/"&gt;David Cooksey's Lexing and Parsing with F# – Part I&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“FsLex and FsYacc are F# implementations of Ocaml’s Lex and Yacc. They are part of the F# Powerpack released for Visual Studio 2010.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://bugsquash.blogspot.com/2010/09/nullable-in-f.html"&gt;Mauricio Scheffer's Nullable in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“In F#, unlike VB.NET and C#, Nullable&amp;lt;T&amp;gt; is not a language-supported construct.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;   &lt;blockquote&gt;     &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;   &lt;a href="http://bloggemdano.blogspot.com/2010/09/pure-f-templates-now-support-visual.html"&gt;Daniel Mohl's Pure-F# Templates Now Support the Visual Studio 2010 Shell SKU&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“With the announcement of the F# 2.0 standalone tools update for Visual Studio 2010 Shell, I have updated the pure-F# templates to support the IntegratedShell SKU.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://techneilogy.blogspot.com/2010/09/f-fuzzy0-update.html"&gt;Neil Carrier's F# Fuzzy0 Update&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Just a quick note to say that the Fuzzy0 reference code has been updated. I added a few comments, a constant output function, and the input modifiers “very” and “somewhat.””&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://techneilogy.blogspot.com/2010/09/discrete-classification-using-f-and.html"&gt;Neil Carrier's Discrete Classification using F# and Fuzzy Logic&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“This post shows the first example based on the F# fuzzy logic reference module Fuzzy0. I continue with the theme of tomatoes. The example shows how fuzzy logic can be used to classify items such as tomatoes into discrete categories.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/b/clrcodegeneration/archive/2009/08/13/array-bounds-check-elimination-in-the-clr.aspx"&gt;Array Bounds Check Elimination in the CLR&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“If a compiler can prove statically that an array index operation is safe, it doesn’t need to generate a dynamic test.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://www.codeproject.com/KB/cs/dataflowprogramming.aspx"&gt;Vitality Liptchinsky's Basics of dataflow programming in F# and C#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“This article presents basic implementations of dataflow variable in both C# and F#. Also article demonstrates examples of dataflow programming in C# using futures.        &lt;br /&gt;@author Vitaliy Liptchinsky”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;    &lt;h1&gt;&lt;em&gt;&lt;/em&gt;&lt;/h1&gt;   &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1 align="center"&gt;Community&lt;/h1&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;   &lt;blockquote&gt;     &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;   &lt;a href="http://stackoverflow.com/questions/833180/handy-f-snippets"&gt;Stack Overflow - Handy F# snippets&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“I'd like to make this a kind of handy reference page. As such there will be no right answer, but hopefully lots of good ones.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1 align="center"&gt;Teaching, Basics and Others&lt;/h1&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;   &lt;blockquote&gt;     &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;   &lt;a href="http://nomadic-developer.com/2010/09/10/the-unheralded-benefits-of-the-f-programming-language/"&gt;Aaron Erickson's The Unheralded Benefits of the F# Programming Language&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“As great as these features are, there are a couple features, that in my more mundane F# experiences, seem to stand out as things that “save my ass”, for lack of a better phrase, more often than not.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://murrayon.net/2010/09/f-pipeline-operator-in-c.html"&gt;Mike Murray's F# Pipeline Operator in C#?&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“For those regular, non-fluent method calls in the rest of the .NET API, you must use old-fashioned Object-Oriented Programming practices of breaking code up into meaningful, atomic units of statements and naming and encapsulating functions cohesively in order to get more readable code.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&lt;a href="http://perlgeek.de/blog-en/perl-6/protected-attributes-make-no-sense.html"&gt;Moritz Lenz's Protected Attributes Make No Sense&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“In C++, you can declare an attribute or a method as &amp;quot;protected&amp;quot;. Which means that it is private, but subclasses can still access them. This makes just as much sense as saying you only get access to these attributes if you wear a funny yellow hat.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;    &lt;h1&gt;     &lt;blockquote&gt;       &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;     &lt;/blockquote&gt;   &lt;/h1&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/09/12/f-discoveries-this-week-09-12-2010.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+09%2f12%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/12/f-discoveries-this-week-09-12-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/09/12/f-discoveries-this-week-09-12-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+09%2f12%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/12/f-discoveries-this-week-09-12-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/09/12/f-discoveries-this-week-09-12-2010.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/12/f-discoveries-this-week-09-12-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/09/12/f-discoveries-this-week-09-12-2010.aspx&amp;amp;title=F%23+Discoveries+This+Week+09%2f12%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/12/f-discoveries-this-week-09-12-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/09/12/f-discoveries-this-week-09-12-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+09%2f12%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/12/f-discoveries-this-week-09-12-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/09/12/f-discoveries-this-week-09-12-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+09%2f12%2f2010&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/12/f-discoveries-this-week-09-12-2010.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=21002" 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/microsoft+research/default.aspx">microsoft research</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/classification/default.aspx">classification</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/video/default.aspx">video</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/parallel/default.aspx">parallel</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Fuzzy+Logic/default.aspx">Fuzzy Logic</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/nullable/default.aspx">nullable</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/clr/default.aspx">clr</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/parsing/default.aspx">parsing</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/professional+F_2300_+2.0/default.aspx">professional F# 2.0</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/oauth/default.aspx">oauth</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/dataflow/default.aspx">dataflow</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/lexing/default.aspx">lexing</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/linqpad/default.aspx">linqpad</category></item></channel></rss>