<?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 : math, roundup, F#</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/tags/math/roundup/F_2300_/default.aspx</link><description>Tags: math, roundup, F#</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>F# Discoveries This Week 09/17/2010</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/17/f-discoveries-this-week-09-17-2010.aspx</link><pubDate>Fri, 17 Sep 2010 20:25:06 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:21009</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/21009.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=21009</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=21009</wfw:comment><description>&lt;p align="left"&gt;ICFP approaches quickly and I’m working hard to make that those four hours of CUFP F# tutorial will be well worth your time.&amp;#160; Meanwhile I’ve gathered the best the of the F# community for your enjoyment.&amp;#160; Dig in!&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="https://sites.google.com/site/cufpxmichigan/"&gt;September 23rd at CUFPx Michigan - Mark Harris: &amp;quot;A Commercial Deployment of F# &amp;quot;&lt;/a&gt;&lt;/h3&gt;    &lt;blockquote&gt;     &lt;p align="left"&gt;&lt;em&gt;“Mark Harris, formerly of Microsoft, currently working for Grange Insurance in Columbus, Ohio, will be presenting a case study of a commercial deployment of an F# solution. One of the highlights of this deployment--a process which took 18 hours was cut down to 6 minutes. Mark will be discussing the benefits and drawbacks of using F# in Grange's commercial app.&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;  &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://deepfriedbytes.com/podcast/episode-60-the-futures-of-the-f-language-with-luke-hoban/"&gt;Deep Fried Bytes Technology Podcast Episode 60: The Futures of the F# Language with Luke Hoban&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“In this episode Keith and Woody sit down with F# Program Manager Luke Hoban at TechEd 2010 to discuss the futures of the F# language. Luke gave the guys the scoop on what developers can accomplish with F# and what the team has planned for upcoming releases of F# with Visual Studio.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&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://devtalk.net/fsharp/making-dsls-in-fsharp/"&gt;Dmitri Nesteruk 's Making DSLs in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“This article shows that making a DSL in F# is really simple. Of course, the thing about DSLs is they are domain-specific, so for the domain you choose you might encounter a lot more challenges. Have fun!”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&lt;a href="http://techneilogy.blogspot.com/2010/09/basic-f-computation-expressions-using.html"&gt;Neil Carrier's Basic F# Computation Expressions Using Yield and Combine&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“I decided to learn a little bit about computation expressions beyond the basic Bind/Return operations. So I made a goal of learning something about the Yield/Combine operations.”&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://techneilogy.blogspot.com/2010/09/f-async-computation-expressions-tiny.html"&gt;Neil Carrier's F# Async Computation Expressions: A Tiny Model System&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Continuing my quest to learn computation expressions, I decided to explore from scratch the implementation of basic asynchronous behavior. This post is the result.”&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://strangelights.com/blog/archive/2010/09/16/what-is-object-oriented-programming-really-all-about.aspx"&gt;Robert Pickering's What is object oriented programming really all about?&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“People often ask me what functional programming is all about and why is it useful. In an attempt to answer this question in a way that is relevant to object oriented programmers it struck me it might be useful to look at what people find useful in modern object oriented programming.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&lt;a href="http://caxelrud.blogspot.com/2010/09/vector-matrix-and-linear-algebra-in-f.html"&gt;Celso Axelrud's Vector, Matrix and Linear Algebra in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“The following script snippets present the vector and matrix functionalities in Microsoft.Fsharp.Numerics namespace from Fsharp.PowerPack assemble.”&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://www.whattofix.com/blog/archives/2010/09/functional-tdd.php"&gt;Daniel Markham's Functional TDD: Codd is my Copilot&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“You work for the IRS. Your job today is to select a list of people with large bank balances so that you can do some kind of indescribably-complex tax-stuff to them. Your boss would like a list of these guys on his desk by noon.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&lt;a href="http://v2matveev.blogspot.com/2010/09/slides-and-samples.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+OccasionalNotes+%28Occasional+notes%29&amp;amp;utm_content=Google+Reader"&gt;Vladimir Matveev's Slides And Samples&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Presentation and code samples from my recent talk on FSUG meeting.”&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://stefanoricciardi.com/2010/09/14/project-euler-problem-10-in-f/"&gt;Stefano Ricciardi's Project Euler Problem 10 in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Calculate the sum of all the primes below two million.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/b/ashleyf/archive/2010/09/15/project-euler-problem-8.aspx"&gt;Ashley Feniello's Project Euler Problem #8&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Largest products of five consecutive digits in this 1000-digit number.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/b/ashleyf/archive/2010/09/16/project-euler-problem-9.aspx"&gt;Ashley Feniello's Project Euler Problem #9&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Pythagorean triplet where a + b + c = 1000”&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://www.aprogguide.co.cc/2010/09/tabcontrolvisual-f.html"&gt;Ray Dacoco's TabControl in Visual F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“TabControl is a control that can be used to organize information. It can be utilized as a good alternative to menustrip control.”&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.aprogguide.co.cc/2010/09/changing-pointer-when-mouse-hovers.html"&gt;Ray Dacoco's Changing the Pointer when the mouse hovers an object&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“To change the mouse pointer when the mouse hovers an object, use the Cursor property. All form controls in Visual F# has Cursor property.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&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/327955/does-functional-programming-replace-gof-design-patterns"&gt;StackOverflow - Does Functional Programming Replace GoF Design Patterns?&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Functional languages have plenty of best practice rules of the form &amp;quot;when you encounter problem X, use code that looks like Y&amp;quot;, which is basically what a design pattern is.”&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://stackoverflow.com/questions/3713233/f-type-declaration-possible-ala-haskell"&gt;StackOverflow - F# Type declaration possible ala Haskell?&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“If you want to keep readable type declarations separately from the implementation, you can use 'fsi' files (F# Signature File).”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1 align="center"&gt;A Look Outside&lt;/h1&gt;  &lt;h3&gt;&lt;a href="http://blog.hiremebecauseimsmart.com/post/615614573/functor"&gt;Chris Waggoner's Category Theory&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Category Theory is like Set Theory, but supposedly better. What is it, though?”&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/09/17/f-discoveries-this-week-09-17-2010.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+09%2f17%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/17/f-discoveries-this-week-09-17-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/17/f-discoveries-this-week-09-17-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+09%2f17%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/17/f-discoveries-this-week-09-17-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/17/f-discoveries-this-week-09-17-2010.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/17/f-discoveries-this-week-09-17-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/17/f-discoveries-this-week-09-17-2010.aspx&amp;amp;title=F%23+Discoveries+This+Week+09%2f17%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/17/f-discoveries-this-week-09-17-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/17/f-discoveries-this-week-09-17-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+09%2f17%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/17/f-discoveries-this-week-09-17-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/17/f-discoveries-this-week-09-17-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+09%2f17%2f2010&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/09/17/f-discoveries-this-week-09-17-2010.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=21009" 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/roundup/default.aspx">roundup</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/async/default.aspx">async</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/asynchronous/default.aspx">asynchronous</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Design+Patterns/default.aspx">Design Patterns</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Euler/default.aspx">Euler</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Computation+Expressions/default.aspx">Computation Expressions</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/deep+fried+bytes/default.aspx">deep fried bytes</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/category+theory/default.aspx">category theory</category></item><item><title>F# Discoveries This Week 12/29/2009</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx</link><pubDate>Tue, 29 Dec 2009 16:45:42 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:19954</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/19954.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=19954</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=19954</wfw:comment><description>&lt;p&gt;It’s been a bit of a light week with the holidays.&amp;#160; Although, for the truly dedicated, that’s just a chance to get some quality time in with with a favorite programming language (or to write a poem about it).&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://tomasp.net/blog/accelerator-life-game.aspx"&gt;Tomas Petricek uses Accelerator in a GPU Game of Life simulation&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This article is the second one from a series about using Accelerator from F#. Today, we'll use Accelerator types directly from F# - this is the simplest possible approach and is very similar to the way you'd work with Accelerator in C#.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://robertsundstrom.wordpress.com/2009/12/24/maths-in-f/"&gt;Robert Sundström explores GCD and LCM in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I have spent this evening composing some mathematical functions in F#. So far I have just made two for gcd and lcm and one that can identify prime numbers. I want like to share the code with you.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://strangelights.com/blog/archive/2009/12/26/1651.aspx"&gt;Robert Pickering describes his work on FunctionalNHibernate&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In the future I’ll be looking at how to broadening what you can do with FunctionalNHibernate ClassMap descriptions and improve data access by integrating Linq like features.&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/2009/12/f-examples-on-rosetta-code.htmlhttp://fsharpnews.blogspot.com/2009/12/f-examples-on-rosetta-code.html"&gt;Flying Frog solves Rosetta Code’s Data Munging 2 Example &lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Perhaps the most surprising result is that the F# solutions are extremely concise even when compared with bleeding-edge research languages such as Haskell.&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/2009/12/evolution-weasel-program.html"&gt;Flying Frog plays with Generic Algorithms&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The program begins with a random string of letters and spawns a generation of 200 random mutations of the parent string, selects the fittest mutation (by similarity to an &amp;quot;ideal&amp;quot; string) and uses that individual to spawn the next generation. The ideal string used is &amp;quot;METHINKS IT IS LIKE A WEASEL&amp;quot;.&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/2009/12/21/cleaning-temporary-internet-files"&gt;Julien Ortin uses F# to clean up his temporary internet files&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;A quick and dirty F# script to clean temporary internet files (including Flash cookies which don’t get deleted by the browsers).&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/2009/12/21/observing-asynchronous-downloads-with-f-and-the-reactive-extensions-for-net/"&gt;Steffen Forkmann observes asynchronous downloads with Rx and F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This time I will demonstrate how we can use this API and asynchronous workflows to download a couple of websites asynchronous and in parallel.&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/pfxteam/archive/2009/12/09/9934811.aspx"&gt;The PFX Team tours the .NET 4 Parallel Programming Samples&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;On Code Gallery, we have a plethora of samples that highlight aspects of the .NET Framework 4 that help with writing scalable and efficient parallel applications.&amp;#160; This post examines each of those samples, providing an overview of what each provides.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://msdnrss.thecoderblogs.com/2009/12/25/distracted-by-abstraction-a-poem-about-f/"&gt;Satnam Singh writes a poem about F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Distracted by Abstraction - A poem about F#&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/2009/12/29/discoveries-this-week-12-29-2009.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+12%2f29%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+12%2f29%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx&amp;amp;title=F%23+Discoveries+This+Week+12%2f29%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+12%2f29%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+12%2f29%2f2009&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/12/29/discoveries-this-week-12-29-2009.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=19954" 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/math/default.aspx">math</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/reactive/default.aspx">reactive</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/reactive+extensions/default.aspx">reactive extensions</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/FunctionalNHibernate/default.aspx">FunctionalNHibernate</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/genetic/default.aspx">genetic</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Rosetta+Code/default.aspx">Rosetta Code</category></item><item><title>F# Discoveries This Week 10/11/2009</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx</link><pubDate>Mon, 12 Oct 2009 03:29:00 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:19417</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/19417.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=19417</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=19417</wfw:comment><description>&lt;p&gt;This week we find ourselves with a wide range of topics from the fundamental to the advanced.&amp;#160; Do enjoy. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://weblogs.asp.net/podwysocki/archive/2009/10/09/functional-programming-fundamentals-lectures.aspx"&gt;Matthew Podwysocki’s Post: Functional Programming Fundamentals Lectures&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Earlier this year, I had the privilege to record &lt;/em&gt;&lt;em&gt;a Channel 9 video session&lt;/em&gt;&lt;em&gt; covering functional programming basics with Erik Meijer and Charles Torre.&amp;#160; We covered some of the basics, but at some point you need to go back to the fundamentals in order to truly learn this paradigm.&amp;#160; With that, Erik with the help of Charles, have kicked off the Channel 9 lecture series on Functional Programming Fundamentals.&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.ademiller.com/blogs/tech/2009/09/gotchas-adding-attributes-to-interface-properties-in-f/"&gt;Ade Miller’s Gotchas: Adding Attributes to Properties on Interfaces in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I ran into a couple of issues when writing an F# class to be consumed by C#. Specifically when it came to adding attributes to a property declared on an interface.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://stevehorsfield.wordpress.com/2009/09/12/f-pipelined-monads-solutions-from-the-community/"&gt;Steve Horsfield’s F#: Pipelined Monads – Solutions From the Community&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The solutions from both Felix and Keith involved creating a single operator that wrapped bind. Felix did this directly and Keith did it by using the computation expression syntax in F#.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://coding-experiments.blogspot.com/2009/10/evaluating-math-expressions-in-f.html"&gt;Agnius Vasiliauskas’s Evaluating math expressions in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;We will try to write such universal eval function which accepts arbitrary math expression and returns result to the user. So what are possible ways of implementing such function in F# ?&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/2009/10/11/f-discoveries-this-week-10-11-2009.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+10%2f11%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+10%2f11%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx&amp;amp;title=F%23+Discoveries+This+Week+10%2f11%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+10%2f11%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx&amp;amp;;title=F%23+Discoveries+This+Week+10%2f11%2f2009&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/10/11/f-discoveries-this-week-10-11-2009.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=19417" 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/math/default.aspx">math</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/evaluation/default.aspx">evaluation</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/bugs/default.aspx">bugs</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/interfaces/default.aspx">interfaces</category></item><item><title>Discoveries This Week 02/06/2009</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx</link><pubDate>Fri, 06 Feb 2009 16:24:00 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:17428</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/17428.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=17428</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=17428</wfw:comment><description>&lt;p&gt;Some interesting gems this week.&amp;nbsp; Revit, Closures and MathTools won the day.&amp;nbsp; However, I do hope you'll take a look at the IL post as well. &lt;br&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h3&gt;Blog – &lt;a href="http://thebuildingcoder.typepad.com/blog/2009/01/use-f-directly-in-revit.html"&gt;Jeremy Tammik’s Use F# Directly in Revit&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;In Jeremy’s post he discusses what is initially necessary to get F# and Revit working together.&amp;nbsp; He also provides a sample of a Revit addin written in F#.&amp;nbsp; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;amp;id=8479974"&gt;Revit&lt;/a&gt; is Autodesk’s architecture and design studio.&amp;nbsp; It allows physical engineers to coordinate and play with, design and visualize data while integrating directly with AutoCad.&amp;nbsp; It also provides &lt;a href="http://usa.autodesk.com/adsk/servlet/index?siteID=123112&amp;amp;id=2484975"&gt;a .NET 2.0 API&lt;/a&gt;.&amp;nbsp; Given F#’s support for units as well as it’s concise and mathy style, it makes sense that it would be an ideal language for engineers.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;h3&gt;Site - &lt;a href="http://en.wikibooks.org/wiki/F_Sharp_Programming"&gt;WikiBooks FSharp Programming&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;Before I stumbled upon this site, I had never head of of WikiBooks.&amp;nbsp; That’s why I was incredibly surprised to find that it has the best online general F# reference around.&amp;nbsp; It has extensive sections on functional, immutable and imperative programming with rich examples and references to the math behind the ideas presented.&amp;nbsp; It’s a great site to have at hand for both those learning about the language and those experienced but still needing to occasionally look something small up.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;h3&gt;StackOverflow -&amp;nbsp; &lt;a href="http://stackoverflow.com/questions/12924/f-closure"&gt;A practical example of a closure in F#&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;Learning how to program functionally is much more than just learning some&amp;nbsp; new ideas and a new syntax.&amp;nbsp; It comes along with a ton of new jargon, some of which can be quite foreign sounding.&amp;nbsp; I find that it often turns out that the jargon actually represents a very simple idea and that becomes immediately obvious when discussed with a simple example. &lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;h3&gt;Software – &lt;a href="http://www.codeplex.com/fsmathtools"&gt;FSharp.MathTools&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;As you might have suspected by its name, MathTools is an extensive set of mathematics libraries for F#.&amp;nbsp; It provides, among other things, statistical functions, fast fourier transforms, optimization algorithms, &lt;a href="http://www.mathworks.com/"&gt;Matlab&lt;/a&gt; compatibility and extended mathematical notation.&amp;nbsp; With a little development this combined with &lt;a href="http://www.codeplex.com/vslab"&gt;VSLab&lt;/a&gt; could provide a viable alternative to tools like Matlab while still allowing for collaboration with colleagues.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;h3&gt;Article – &lt;a href="http://www.codeproject.com/KB/msil/ilassembly.aspx"&gt;Introduction to IL Assembly Language&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;It’s the responsibility of any serious programmer to know how how his or her tools work all the way down the chain.&amp;nbsp; In this relatively short article (given the topic) everything you would need to write a .NET compiler is distilled.&amp;nbsp; It’s the best reference of it’s kind I’ve seen. &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/2009/02/06/discoveries-this-week-02-06-2009.aspx&amp;amp;;subject=Discoveries+This+Week+02%2f06%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx"&gt;email it!&lt;/a&gt; |  &lt;a href = "http://del.icio.us/post?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx&amp;amp;;title=Discoveries+This+Week+02%2f06%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx"&gt;bookmark it!&lt;/a&gt; |  &lt;a href = "http://www.digg.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx&amp;amp;title=Discoveries+This+Week+02%2f06%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx&amp;amp;;title=Discoveries+This+Week+02%2f06%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx"&gt;kick it!&lt;/a&gt; |  &lt;a href = "https://favorites.live.com/quickadd.aspx?marklet=1&amp;amp;;mkt=en-us&amp;amp;;url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx&amp;amp;;title=Discoveries+This+Week+02%2f06%2f2009&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/02/06/discoveries-this-week-02-06-2009.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=17428" 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/functional/default.aspx">functional</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/IL/default.aspx">IL</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/.NET/default.aspx">.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/VSLab/default.aspx">VSLab</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/AutoCad/default.aspx">AutoCad</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/jargon/default.aspx">jargon</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Revit/default.aspx">Revit</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/closure/default.aspx">closure</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/math/default.aspx">math</category></item></channel></rss>