<?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 : FsCheck</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/tags/FsCheck/default.aspx</link><description>Tags: FsCheck</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>F# Discoveries This Week 06/14/2010 - TechEd Edition</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/06/14/f-discoveries-this-week-06-14-2010-teched-edition.aspx</link><pubDate>Mon, 14 Jun 2010 21:25:47 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:20792</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/20792.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=20792</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=20792</wfw:comment><description>&lt;p&gt;Despite the small number of talks on F#, it seemed the language was on everyone’s lips this TechEd.&amp;#160; Whether working at the Visual Studio Languages booth or hanging out at the parties afterward, almost everyone I talked to was actively investigating or making plans to explore the language.&amp;#160; &lt;/p&gt;  &lt;p&gt;Of course, this is great news.&amp;#160; A quiet tide of interest is quickly rising.&amp;#160; Now we just need to give those who are interested the resources they need to be successful and comfortable using F#.&amp;#160; &lt;/p&gt;  &lt;p&gt;For this reason, each and every F# speaker and blogger is critically important right now.&amp;#160; If you haven’t, don’t be afraid to give blogging a try.&amp;#160; The F# community is helpful and very forgiving of mistakes.&amp;#160; If you are already blogging, consider giving a talk at your local user group or code camp.&amp;#160; Now is the best time to help and educate.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;News&lt;/strong&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://bloggemdano.blogspot.com/2010/06/f-presentation-for-new-england-f-user.html"&gt;Daniel Mohl will be speaking at FSUG on 7/5&lt;/a&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://www.itu.dk/courses/BPRD/E2009/"&gt;IT University of Copenhagen uses F# as presentation language in a course: “Programming Language Concepts for Software Developers”&lt;/a&gt; (Thanks Pheophan)&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/b/dsyme/archive/2010/06/07/project-emporia-a-personal-view-on-twitter-implemented-in-f.aspx"&gt;Project Emporia Released, on Azure with a F# Core&lt;/a&gt;&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://fscheck.codeplex.com/"&gt;FsCheck 0.7 Released&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Video / Audio&lt;/strong&gt;&lt;/p&gt;  &lt;h3&gt;Luke Hoban’s &lt;a href="http://www.msteched.com/2010/NorthAmerica/DEV307"&gt;F# in Microsoft Visual Studio 2010 (video)&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/b/lukeh/archive/2010/06/13/f-scaling-from-explorative-to-net-component-f-talk-teched-2010.aspx"&gt;F# Scaling from Explorative to .NET Component (blog)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The TechEd talk covered a number of interesting aspects of using F# in Visual Studio - tools, core syntax, some examples of current commercial users, and the physical structure of F# projects used in client applications.&amp;#160; But the theme of scaling from explorative programming to .NET component is one that I find particularly powerful, and which is a really unique strength of the 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/interviews/john-hughes-fp"&gt;John Hughes on Why Functional Programming Matters&lt;/a&gt; (video)&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;John Hughes is the author of “Why functional programming matters” paper and in this interview he outlines the merits of functional programming and the reason for his involvement with it. He also goes over several core principles of functional programming like monads, handling of side-effects, etc.&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.talkingshopdownunder.com/2010/06/episode-16-f-with-joel-pobar.html"&gt;Talking Shop Down Under with Joel Pobar&lt;/a&gt; (audio)&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This week see's Richard talking with Joel Pobar about F# and languages in general. Functional programming is coming more and more to the fore and this is a great episode to find out more about F#, try and get your head around monads and think more about the way you approach programming in general and wether the general purpose languages that you use currently are always the best choice for the job at hand.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p align="center"&gt;&lt;strong&gt;Articles&lt;/strong&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/ff714588.aspx"&gt;Luke Hoban’s F# Fundamentals on MSDN Magazine&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This article takes a look at some of the core concepts of the F# language and its implementation on top of the CLR.&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/b/ashleyf/archive/2010/06/08/wolfram-a-new-kind-of-turing-machine.aspx"&gt;Ashley Feniello’s Wolfram – A New Kind of Turing Machine&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Stephen Wolfram’s book, “A New Kind of Science” is flippin’ brilliant! (or perhaps I'm just not brilliant enough to realize he's a mad man) 1,280 pages packed with beautiful insights and Tufte-worthy visualizations. I remember discovering it while randomly browsing the MS library one day. I became so enthralled, an hour passed just standing there reading it!&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;&amp;#160;&lt;/h3&gt;  &lt;h3&gt;&lt;a href="http://www.codeproject.com/KB/net-languages/SymbolicCalcInFS.aspx"&gt;Vagif Abilov’s Symbolic Calculation in F# on CodeProject&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;One of the best areas to use a functional language is to apply it to symbolic calculations. Like transforming algebraic expressions or evaluating function derivatives. I remember how I was impressed many years ago when I looked at a program in Prolog that occupied not more than one computer screen but could tell me that derivative of sin(x) was cos(x). So I wanted to do the same 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://blogs.msdn.com/b/dsyme/archive/2010/06/04/html5-programming-with-f.aspx"&gt;Don Syme’s HTML5 Programming with F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Now that WebSharper has been released and matured, it will be great to see it used more widely by F# users.&amp;#160; Given the importance of both HTML5 and Silverlight, F# users interested in shipping visualization apps should really make sure they know how to use F# to program these, using the Silverlight SDK (for Silverlight) or tools such as WebSharper (for HTML5).&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://achrissmith.blogspot.com/2010/06/f-active-pattern-seven-tag-limit.html"&gt;Chris Smith’s F# active pattern seven-tag limit&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Once he went into the theory behind active patterns I agreed that the limit was reasonable and didn't push for us to change the design. This doesn't mean you can't use active patterns with greater than seven tags, it just means that you need to use a different language construct -- the partial active pattern -- instead.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Phillip Trelford’s &lt;a href="http://www.trelford.com/blog/post/Runtime-Units-of-Measure-for-F.aspx"&gt;Runtime Units of Measure for F#&lt;/a&gt; and &lt;a href="http://www.trelford.com/blog/post/Units-of-measure-auto-conversion.aspx"&gt;Units of measure auto-conversion&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;&lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The F# compiler includes a Units of Measure feature which infers a measure type at compile time, which means you get measure type safety with uncompromised runtime performance. […] Sometimes you might also want to actually infer units of measure at runtime, say to display the inferred unit type at the UI. The following F# code prototype provides such inference. &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/Silverlight-4-Calculator-Sample-in-F.aspx"&gt;Phillip Trelford’s Silverlight 4 Calculator Sample in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The sample demonstrates creating a View in WPF or Silverlight without XAML. The idea is to make things a little easier from F# by implementing a (+) operator overload to attach dependency properties.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Jomo Fisher’s &lt;a href="http://blogs.msdn.com/b/jomo_fisher/archive/2010/05/28/creating-an-odata-web-service-with-f.aspx"&gt;Creating an OData Web Service with F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;If you’d like to take a look at the service I wrote, I published it on Visual Studio Gallery. You just need to go to File\New Project 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://fsharpnews.blogspot.com/2010/06/dragon-curve-in-17-lines-of-f.html"&gt;Jon Harrop’s A dragon curve in 17 lines of F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Dragon curves are a family of self-similar fractal curves. The following 17-line F# program uses Windows Presentation Foundation to visualize the results of a simple recursively-constructed dragon curve.&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/list-collect-implementations-with.html"&gt;List&amp;lt;&amp;gt;.collect Implementations with Benchmarks&lt;/a&gt; and &lt;a href="http://techneilogy.blogspot.com/2010/06/one-more-list-collect-implementation.html"&gt;One more List&amp;lt;&amp;gt;.collect Implementation&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I had a situation come up in my proof-of-concept where I needed to do a collect on a .NET List&amp;lt;&amp;gt;. So I did some experiments with how it might best be accomplished. A key factor was that this is something that may be done literally millions of times a day if the application makes it to deployment; so I was concerned with performance.&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/06/easy-no-compile-dfas.html"&gt;Neil Carrier’s Easy, No-Compile DFAs&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The methods for compiling a set of finite automata DFAs or NFAs into a composite DFA are found in most introductory compiler texts. But how easy is it to construct a simple engine in F# which recognizes a series of patterns? As it turns out, pretty simple.&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/06/surfing-tuple-pipeline.html"&gt;Neil Carrier’s Surfing the Tuple Pipeline&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;It turns out that I like the RWFP approach better than mine, but the special tuple pipelines I came up with are not without interest, so I decided to post them here.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Neil Carrier’s This is why I love F# &lt;a href="http://techneilogy.blogspot.com/2010/06/this-is-why-i-love-f.html"&gt;Part One&lt;/a&gt; and &lt;a href="http://techneilogy.blogspot.com/2010/06/why-i-love-f-part-2.html"&gt;Part Two&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I can’t imagine having any trouble explaining the operation of this program to someone with a basic knowledge of statistics but no computer programming experience. It simply looks like what it does in a way that is succinct and comprehensible.&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/06/standard-wcf-service-application.html"&gt;Daniel Mohl’s The Standard WCF Service Application Template for F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In the interest of building up a larger set of installed templates for F#, I've ported the standard C# WCF Service Application to F# and packaged it into a .vsi file.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a name="1997119761320975706"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://bloggemdano.blogspot.com/2010/06/fsharpcouch-simple-couchdb-net-api-in-f.html"&gt;Daniel Mohl’s FSharpCouch: A Simple CouchDB .NET API in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;To interact with CouchDB, I primarily use Relax (a full featured &amp;quot;.NET API abstraction of CouchDB's (excellent) RESTful API&amp;quot;); however, I thought it might be fun and educational to create a simple CouchDB .NET API abstraction in F#.&amp;#160; Note: The code provided&amp;#160; here is loosely based on SharpCouch.&lt;/em&gt;&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/05/f-parsing-simple-language.html"&gt;Vladimir Matveev’s F# Parsing simple language&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;During my professional career I often met the task of code generation based on some source data. Last time it was analogue of BCL compiler for ExpressionTrees and then C# compiler have done mostly all the required job with parsing expressions.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Vladimir Matveev’s &lt;a href="http://v2matveev.blogspot.com/2010/06/f-performance-of-events.html"&gt;F# Performance of events&lt;/a&gt; and &lt;a href="http://v2matveev.blogspot.com/2010/06/f-performance-of-events-update.html"&gt;F# Performance of events (update)&lt;/a&gt; and &lt;a href="http://www.atalasoft.com/cs/blogs/rickm/archive/2010/06/04/a-speedy-alternative-to-f-delegateevents.aspx"&gt;Rick Minerich’s A Speedy Alternative to F# DelegateEvents&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;As you see compiler have inlined code of Trigger method inside Run&amp;#160; and accessed field multicast directly. That’s why we replaced let binding with val.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://laurent.le-brun.eu/site/index.php/2010/06/07/54-fsharp-and-fparsec-a-glsl-parser-example"&gt;Laurent Le Brun’s F# and FParsec: a GLSL parser example&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;One of my side-projects is GLSL Minifier.&amp;#160; GLSL is the shading language of OpenGL, that is a language designed to run on the GPU, in order to control the graphics pipeline and create nice realtime graphical effects. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://laurent.le-brun.eu/site/index.php/2010/06/08/55-fsharp-getopt-to-parse-the-command-line"&gt;Laurent Le Brun’s F# getopt to parse the command line&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Many programs (especially console applications) need to parse the command line, and find which options the user want to set. As far as I know, .NET doesn't provide any function for this, but there several third-party libraries to do it.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://fdatamining.blogspot.com/2010/06/note-on-efficiency-in-f-part-i-small.html"&gt;Yin Zhu’s A note on efficiency in F#, part I: small things first&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;As a functional programming language, F# programs are kind of high-level, thus harder to reason its performance than imperative programs. Not the big-O thing, it is the constant. This series contains little tips about performance.&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/06/10/f-wpf-form-ndash-the-basics.aspx"&gt;Mark Pearl’s F# WPF Form – the basics&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I have been keeping my eye out for some examples of creating a WPF form in a F# project and came across &lt;/em&gt;&lt;em&gt;Tim’s F# Twitter Stream Sample [..]&lt;/em&gt;&lt;em&gt; So today I am going to make just the very basic WPF form with all the goodness of a XAML window.&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/06/09/simple-mouse-move-event-in-f-with-winforms.aspx"&gt;Mark Pearl’s Simple Mouse Move Event in F# with WinForms&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;In Thomas’s post he has a form with an ellipse on it that when he clicks on the ellipse it pops up a message box with the button clicked… awesome. Something that got me on the post though was the code similar to the one below…&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://shinkirou.org/blog/2010/06/f-multidimensional-arrays-and-jagged-arrays/"&gt;Ming Tang’s F# Multidimensional Arrays and Jagged Arrays&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The problem is that, an array is initialized per every rows, which wastes computational resource. Because the widths of each row are constant, why not make a 1d array and access pixels like y * width + x.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://community.livejournal.com/visual_fsharp/3090.html"&gt;Pheophan’s Fun with Fibonacci&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“Horrible performance. fibnaive 40 took 16.6 sec on my laptop&amp;quot; […] “It’s also pretty fast. Here are results of calculating 1000 Fibonacci numbers: Real: 00:00:00.001, CPU: 00:00:00.000, GC gen0: 0, gen1: 0, gen2: 0”&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/06/14/f-discoveries-this-week-06-14-2010-teched-edition.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+06%2f14%2f2010+-+TechEd+Edition" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/06/14/f-discoveries-this-week-06-14-2010-teched-edition.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/06/14/f-discoveries-this-week-06-14-2010-teched-edition.aspx&amp;amp;;title=F%23+Discoveries+This+Week+06%2f14%2f2010+-+TechEd+Edition" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/06/14/f-discoveries-this-week-06-14-2010-teched-edition.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/06/14/f-discoveries-this-week-06-14-2010-teched-edition.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/06/14/f-discoveries-this-week-06-14-2010-teched-edition.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/06/14/f-discoveries-this-week-06-14-2010-teched-edition.aspx&amp;amp;title=F%23+Discoveries+This+Week+06%2f14%2f2010+-+TechEd+Edition" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/06/14/f-discoveries-this-week-06-14-2010-teched-edition.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2010/06/14/f-discoveries-this-week-06-14-2010-teched-edition.aspx&amp;amp;;title=F%23+Discoveries+This+Week+06%2f14%2f2010+-+TechEd+Edition" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/06/14/f-discoveries-this-week-06-14-2010-teched-edition.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/06/14/f-discoveries-this-week-06-14-2010-teched-edition.aspx&amp;amp;;title=F%23+Discoveries+This+Week+06%2f14%2f2010+-+TechEd+Edition&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/06/14/f-discoveries-this-week-06-14-2010-teched-edition.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=20792" 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/parser/default.aspx">parser</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/units+of+measure/default.aspx">units of measure</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/FsCheck/default.aspx">FsCheck</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/silverlight/default.aspx">silverlight</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/tuning/default.aspx">tuning</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Active+Patterns/default.aspx">Active Patterns</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/HTML5/default.aspx">HTML5</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/symbolic+calculation/default.aspx">symbolic calculation</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/DFA/default.aspx">DFA</category></item><item><title>F# Discoveries This Week 03/26/2010</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2010/03/26/f-discoveries-this-week-03-26-2010.aspx</link><pubDate>Fri, 26 Mar 2010 16:47:24 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:20385</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/20385.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=20385</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=20385</wfw:comment><description>&lt;p&gt;A ton of new posts this week, far too many to enumerate.&amp;#160; My “Favorite New F# Blogger of the Week” (seems like this is becoming a trend) is the mysterious Neil of &lt;a href="http://techneilogy.blogspot.com/"&gt;Techneilogy&lt;/a&gt;.&amp;#160; I’ve been enjoying his honest exploration of F# and semantic networks very much.&lt;/p&gt;  &lt;p&gt;Also, I’ve been hanging around in the &lt;a&gt;##fsharp channel on irc.freenode.net&lt;/a&gt; a bit.&amp;#160; There’s a bunch of great people there, some of whom are already using F# at work and are eager to talk about it.&amp;#160; Check it out if you have the inclination. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blogs.msdn.com/chrsmith/archive/2010/03/18/writing-a-starcraft-bot-in-f.aspx"&gt;Chris Smith’s Writing a StarCraft Bot in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;We now have all the pieces in place, but creating an AI-bot for a program not meant to be extended will be tricky. StarCraft Bot 9K has the following architecture, which follows the footsteps of the Java ProxyBot available on the AIIDE Website.&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.justinlee.sg/2010/03/16/don-syme-introduction-to-f"&gt;Don Syme’s Video Introductions to F# C9 Series&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;Who better to lecture on the topic than Don? This three part series will serve as an introduction to F#, including insights into the rationale behind the history and creation of Microsoft’s newest language.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Luca Bolognese’s Tracing spread trades in F# parts &lt;a href="http://lucabolognese.wordpress.com/2010/03/13/tracking-spread-trades-in-f-and-hooking-up-xunit-and-fscheck-part-1/"&gt;one (XUnit and FsCheck)&lt;/a&gt; and &lt;a href="http://lucabolognese.wordpress.com/2010/03/19/tracking-spread-trades-in-f-and-wpf-mvvm-part-ii/"&gt;two (WPF and MVVM)&lt;/a&gt;.&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I have a bunch of spread trades open. Spread trades are trades where you buy something and you sell something else generally in the same amount. You hope to profit from the widening of the spread between the price of the two instruments.&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/2010/03/24/1658.aspx"&gt;Robert Pickering’s #Develop, F# and Google Summer of Code&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Chris told me one area they are interested in extending is the F# integration into #Develop; particularly they’d like to get the auto-completion working. So if you’re a CS student on the lookout for a summer job, you could end up being paid by Google to work on 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://strangelights.com/blog/archive/2010/03/20/1657.aspx"&gt;Robert Pickering’s Beginning F# Workshop and Progressive.Net&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I’ll in London on the 10th/11th May giving a two day course entitle “Beginning F# Workshop” in conjunction with the lovely folks at Skills Matter.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://blob.inf.ed.ac.uk/aplcourse/2010/03/lecture-19-hetmet-fsharp/"&gt;Edinburgh University’s Advances in Programming Languages Course, Lecture 19: Heterogeneous Metaprogramming in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;General overview of metaprogramming, with a range of examples in different languages ranging from C macros through Java reflection to MetaOCaml. Brief summary of the F# language, its history, features, and upcoming release in VS 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://www.mattssoftwareblog.com/?p=233"&gt;Matt Moloney’s Dynamically extending applications using MEF and the new F# CodeDom.&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;I wrote this little applet to see what the combination of MEF and the F# CodeDom would look like, and for the record it looks really really good.&amp;#160; This combination opens a whole lot of doors. By using the F# CodeDom the plugin source code can brought in from anywhere;&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/03/20/technical-analysis-indicators-in-f-momentu"&gt;Julien Ortin’s Technical analysis indicators in F# – Momentum&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.&lt;/em&gt;&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/03/solving-python-challenge-with-f.html"&gt;Vladimir Matveev’s Solving Python Challenge with F# – The Chronicles&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;WARNING!!! If you are going to pass through the Python challenge then stop reading this post, cause it contains solution to 24 level.&lt;/em&gt;&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/03/data-structures-finger-tree-part-15.html"&gt;Vladimir Matveev’s Data structures: Finger Tree (Part 1.5)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Last time we stopped on “immutable deque” stage. Today we will explore a few additions that can endow deque with super (hmm..human/deque?) powers.&lt;/em&gt;&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/03/fun-with-recursion.html"&gt;Vladimir Matveev’s Fun with recursion&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Recursion is an extremly useful tool in the toolbox of every developer. Many problems have recursive nature and thus best solved with recursion. Tree-like stucture is a very nice candidate for demonstration.&lt;/em&gt;&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/03/f-and-wpf-or-how-to-make-life-bit.html"&gt;Vladimir Matveev’s F# and WPF or how to make life a bit easier&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Not so long ago I was working of small F# script (excellent feature BTW) that performs some data processing and displays summary (using WPF)at the end. All the WPF samples I met in the web utilize object model to create UI, but let's make a confession: making relatively complex UI with object model sucks.&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-Agents-and-Retlang-quick-comparison.aspx"&gt;Phillip Trelford’s F# Agents and Retlang: quick comparison&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;Erlang style message passing is a great way of simplifying concurrency. The open source Retlang library aims to bring some of the benefits to .Net languages like C# and VB.Net. Whereas F# has built-in message passing support with the MailboxProcessor also referred to as Agents.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Neil’s &lt;a href="http://techneilogy.blogspot.com/2010/03/recap.html"&gt;Recap of Tiny Expert System&lt;/a&gt; and &lt;a href="http://techneilogy.blogspot.com/2010/03/next-step-in-tiny-expert-system.html"&gt;Next Step in the Tiny Expert System?&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Before I move on, let me post a re-do of the the original lazy-evaluated style tiny expert system, incorporating all I've learned about F# over the last couple of weeks. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Neil’s &lt;a href="http://techneilogy.blogspot.com/2010/03/reified-semantic-network.html"&gt;Refined Semantic Network&lt;/a&gt;, &lt;a href="http://techneilogy.blogspot.com/2010/03/data-driven-semantic-network.html"&gt;Data-Driven Semantic Network&lt;/a&gt;, &lt;a href="http://techneilogy.blogspot.com/2010/03/latest-semantic-net-experiment.html"&gt;Latest Semantic Net Experiment&lt;/a&gt;, &lt;a href="http://techneilogy.blogspot.com/2010/03/yet-another-semantic-network.html"&gt;Yet Another Semantic Network&lt;/a&gt; and &lt;a href="http://techneilogy.blogspot.com/2010/03/semantic-net-search-01.html"&gt;Semantic Net Search 0.1&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Continuing on the path of using classic A.I. tutorial examples to teach myself F#, here is an example using semantic networks. So I created a system in which basic semantic nodes and links can be reified into object instances.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Neil’s &lt;a href="http://techneilogy.blogspot.com/2010/03/search-using-continuations.html"&gt;Search Using Continuations&lt;/a&gt; and &lt;a href="http://techneilogy.blogspot.com/2010/03/improved-continutation-search.html"&gt;Improved Continuation Search&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This one returns a list in the right order, and the example shows how to detect circularities. It's a little tricky; the tail recursion involves both a direct tail recursion and a continuation that results in a tail call. I had to run tests to convince myself it really wasn't eating up the stack, lol.&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.sturmnet.org/blog/2010/03/22/slides-and-samples-from-devweek-2010"&gt;Oliver Strum’s DevWeek 2010 Slides and Samples&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Last week I was down in London and spoke at DevWeek 2010. As usual, it was a great conference! Thanks to everybody who attended my talks!&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.codingday.com/happy-pi-day-and-monte-carlo-method"&gt;Can Erten’s Happy Pi Day and Monte Carlo Method&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Calculating Pi is generally the hello world of Monte Carlo Method in Stochastic Calculus. So for today, I will try to give a sample calculation of pi as monte carlo 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://mdavey.wordpress.com/2010/03/26/f-and-xsd-exe/"&gt;Ade Miller’s NBody.net F# Integrators Code Available&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;A Forward Euler integrator and a wrapper for it which implements a Barnes-Hut tree code. I’ve blogged about this before. It’s an Octree implementation in F# which uses the asynchronous computations feature to scale across multiple cores.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;a href="http://mdavey.wordpress.com/2010/03/26/f-and-xsd-exe/"&gt;Matt Davey’s F# and XSD.EXE&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Which, thanks to Luke over on the F# Visual Studio team, means I can do this: […] Which now means I can stop hand crafting FpML types in my F# cashflow 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://continuousdevelopment.wordpress.com/2010/03/20/f-samples/"&gt;Ebru Cucen’s F# Samples&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;If you had the chance to start playing with F#, here are some nice challenges&amp;#160; for you. If not you may want to look at from where to start.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Daniel Mohl’s Code Kata and Project Euler - Problems &lt;a href="http://bloggemdano.blogspot.com/2010/03/code-kata-and-project-euler.html"&gt;One&lt;/a&gt; and &lt;a href="http://bloggemdano.blogspot.com/2010/03/project-euler-problem-2.html"&gt;Two&lt;/a&gt;, &lt;/h3&gt;  &lt;blockquote&gt;   &lt;h3&gt;See also: &lt;a href="http://geekswithblogs.net/mroberts/archive/2010/03/25/playing-with-f.aspx"&gt;Mike Robert’s solution to problem one&lt;/a&gt; and &lt;a href="http://github.com/forki/NaturalSpec/blob/c6e4616b0e8c17f871265c320aaf11e8677833c9/src/test/Spec.Euler/Problem2.fs"&gt;Steffen Forkmann’s solution to problem two&lt;/a&gt;.&lt;/h3&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Recently, I've been thinking about the concept of Code Kata and the personal improvement that this type of practice can bring.&amp;#160; I started thinking of types of exercises that I could do to utilize this concept.&amp;#160; After looking around on the web, I landed on projecteuler.net and found that the problems listed seemed to fit my agenda perfectly.&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/03/26/f-discoveries-this-week-03-26-2010.aspx&amp;amp;;subject=F%23+Discoveries+This+Week+03%2f26%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/03/26/f-discoveries-this-week-03-26-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/03/26/f-discoveries-this-week-03-26-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+03%2f26%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/03/26/f-discoveries-this-week-03-26-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/03/26/f-discoveries-this-week-03-26-2010.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/03/26/f-discoveries-this-week-03-26-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/03/26/f-discoveries-this-week-03-26-2010.aspx&amp;amp;title=F%23+Discoveries+This+Week+03%2f26%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/03/26/f-discoveries-this-week-03-26-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/03/26/f-discoveries-this-week-03-26-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+03%2f26%2f2010" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/03/26/f-discoveries-this-week-03-26-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/03/26/f-discoveries-this-week-03-26-2010.aspx&amp;amp;;title=F%23+Discoveries+This+Week+03%2f26%2f2010&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2010/03/26/f-discoveries-this-week-03-26-2010.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=20385" 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/FsCheck/default.aspx">FsCheck</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/xunit/default.aspx">xunit</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/agents/default.aspx">agents</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/video/default.aspx">video</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/mvvm/default.aspx">mvvm</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/MEF/default.aspx">MEF</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/summer+of+code/default.aspx">summer of code</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/semantic+networks/default.aspx">semantic networks</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/expert+systems/default.aspx">expert systems</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/nbody.net/default.aspx">nbody.net</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/CodeDom/default.aspx">CodeDom</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/StarCraft/default.aspx">StarCraft</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/metaprogramming/default.aspx">metaprogramming</category></item><item><title>Code Camp Hartford 2 Presentation – F# for Testing and Analytics (June 13th)</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2009/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.aspx</link><pubDate>Fri, 12 Jun 2009 19:22:00 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:18637</guid><dc:creator>RickM</dc:creator><slash:comments>0</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/18637.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=18637</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=18637</wfw:comment><description>&lt;p&gt;I will be speaking at tomorrow’s &lt;a href="http://ctdotnet.org/codecamp2.aspx"&gt;Code Camp Hartford 2&lt;/a&gt; on the topic of using F# for the Testing and Analysis of existing code. This talk will be composed of much of the same material I used at &lt;a href="http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx"&gt;Code Camp Waltham 11&lt;/a&gt;, although I will be preparing additional introductory material as many of my Waltham attendees had no prior exposure to F#.&amp;nbsp; &lt;/p&gt;  &lt;p&gt;I hope the audience will find this new introduction short and sweet.&amp;nbsp; In this case my goal will not be to teach F# per se, instead I would like to impress upon the audience the power of using functional programming constructs.&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;h3&gt;&lt;font size="3"&gt;Presentation Details&lt;/font&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;b&gt;F# for Testing and Analytics&lt;/b&gt; will be held in &lt;b&gt;Room E-Echo&lt;/b&gt; at &lt;b&gt;10:30am&lt;/b&gt;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strike&gt;As I often like to make changes up to the last minute, this post will be updated with my slides after the presentation.&lt;/strike&gt; Slides are now available &lt;a href="http://www.atalasoft.com/cs/blogs/rickm/attachment/18637.ashx"&gt;here&lt;/a&gt;. &lt;br&gt;&lt;/p&gt;  &lt;p&gt;&amp;nbsp;&lt;/p&gt;  &lt;h3&gt;&lt;font size="3"&gt;The Plan&lt;/font&gt;&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Talk Introduction&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Shameless Plug: &lt;a href="http://fsug.org/"&gt;Upcoming F# User Group Speakers&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;Survey the audience&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;F# Introduction&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Why F#?&lt;/li&gt;      &lt;li&gt;Some Quick and Elegant Examples contrasted with C#&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;F# Testing Toolbox&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://www.codeplex.com/xunit"&gt;xUnit.NET&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://testdriven.net/"&gt;TestDriven.NET&lt;/a&gt; and &lt;a href="http://www.ncover.com/"&gt;NCover&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://code.google.com/p/natural/"&gt;NaturalSpec&lt;/a&gt;&lt;/li&gt;      &lt;li&gt;&lt;a href="http://www.codeplex.com/fscheck"&gt;FsCheck&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;For more information, see my post on the &lt;a href="http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx"&gt;Code Camp Waltham 11 Presentation&lt;/a&gt;.&amp;nbsp; I wrote quite extensively in that post on most of the things I will be discussing in this talk.&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/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.aspx&amp;amp;;subject=Code+Camp+Hartford+2+Presentation+%e2%80%93+F%23+for+Testing+and+Analytics+(June+13th)" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.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/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.aspx&amp;amp;;title=Code+Camp+Hartford+2+Presentation+%e2%80%93+F%23+for+Testing+and+Analytics+(June+13th)" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.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/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.aspx&amp;amp;title=Code+Camp+Hartford+2+Presentation+%e2%80%93+F%23+for+Testing+and+Analytics+(June+13th)" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.aspx&amp;amp;;title=Code+Camp+Hartford+2+Presentation+%e2%80%93+F%23+for+Testing+and+Analytics+(June+13th)" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.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/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.aspx&amp;amp;;title=Code+Camp+Hartford+2+Presentation+%e2%80%93+F%23+for+Testing+and+Analytics+(June+13th)&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/06/12/code-camp-hartford-2-presentation-f-for-testing-and-analytics.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=18637" width="1" height="1"&gt;</description><enclosure url="http://www.atalasoft.com/cs/blogs/rickm/attachment/18637.ashx" length="755831" type="application/octet-stream" /><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/Code+Camp/default.aspx">Code Camp</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/talks/default.aspx">talks</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/testing/default.aspx">testing</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/FsCheck/default.aspx">FsCheck</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/TestDriven.NET/default.aspx">TestDriven.NET</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/xunit/default.aspx">xunit</category></item><item><title>Discoveries This Week 05/17/2009</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2009/05/17/discoveries-this-week-05-17-2009.aspx</link><pubDate>Sun, 17 May 2009 21:43:00 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:18495</guid><dc:creator>RickM</dc:creator><slash:comments>1</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/18495.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=18495</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=18495</wfw:comment><description>&lt;p&gt;A bit of a slow week.&amp;#160; Perhaps some are out playing in the recently fantastic weather instead of blogging about functional programming.&amp;#160; My favorites this week were Paul Hudak’s talk on Haskell, Jason Olson’s Channel9 discussion, Niklas Gustafssons’s Actors in F# and Kurt Schelfthout’s Testing DSLs with FsCheck.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Paul Hudak on InfoQ - &lt;a href="http://www.infoq.com/interviews/paul-hudak-haskell-Qcon-SF-08&amp;amp;language=en"&gt;Haskell&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;An interview that begins with a discussion of when to introduce difficult Haskell concepts like monads, moves to a discussion of the philosophy of higher order programming.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Paul Hudak, as a principal designer of Haskell, explains FP topics with a passion few others could.&amp;#160; Also, I’m curious about this idea of &lt;a href="http://www.haskell.org/haskellwiki/Arrow"&gt;arrows&lt;/a&gt; (Freyd-categories) as opposed to &lt;a href="http://www.haskell.org/haskellwiki/Monad"&gt;monads&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Jason Olson’s on Channel9 - &lt;a href="http://channel9.msdn.com/posts/Charles/Jason-Olson-Composing-Programming-Languages-F-and-OO/"&gt;Composing Programming Languages&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;We talk about his [Lang.NET F# and OO] presentations and his perspectives on object orientation, F# and his own language.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;As it seems impossible to pin down exactly what OO is, perhaps we should try to categorize it’s subcomponents across different languages.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Niklas Gustafsson on &lt;a href="http://blogs.msdn.com/concurrently_speaking/archive/2009/05/12/actors-in-f.aspx"&gt;Actors in F#&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;One of the advantages of this model over the Axum model is that any number of clients can communicate with an actor, all that is needed is access to the mailbox reference. &lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I must beg to differ with Niklas on one of his stated disadvantages of the Actor model.&amp;#160; It would be easy enough to include a “closing down state” in your Actor FSA.&amp;#160; The inability to statically check your agreements is correct though.&amp;#160; I’d be interested in seeing a simple &lt;a href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx"&gt;Axum&lt;/a&gt; sample which could handle N clients and still be statically checked.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Kurt Schelfthout on &lt;a href="http://fortysix-and-two.blogspot.com/2009/05/how-to-test-dsls-and-fschecking-fscheck.html"&gt;How to test DSLs (and: FsChecking FsCheck)&lt;/a&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;It occurred to me that (domain specific) languages seem difficult to test using traditional unit tests: after all, the usage possibilities are far greater for a language than for, say, a typical user interface.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;An extremely clever way to test DSLs. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I understand it is exceedingly painful to sign up for an account to leave a simple comment.&amp;#160; That given, I am still trying to figure out a solution to my spam problem.&amp;#160; For now, if you would like to comment and don’t wish to set up an account, please &lt;a href="http://www.atalasoft.com/cs/blogs/rickm/contact.aspx"&gt;email me&lt;/a&gt; your comment and I will manually post it here.&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/05/17/discoveries-this-week-05-17-2009.aspx&amp;amp;;subject=Discoveries+This+Week+05%2f17%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/05/17/discoveries-this-week-05-17-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/05/17/discoveries-this-week-05-17-2009.aspx&amp;amp;;title=Discoveries+This+Week+05%2f17%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/05/17/discoveries-this-week-05-17-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/05/17/discoveries-this-week-05-17-2009.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/05/17/discoveries-this-week-05-17-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/05/17/discoveries-this-week-05-17-2009.aspx&amp;amp;title=Discoveries+This+Week+05%2f17%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/05/17/discoveries-this-week-05-17-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/05/17/discoveries-this-week-05-17-2009.aspx&amp;amp;;title=Discoveries+This+Week+05%2f17%2f2009" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/05/17/discoveries-this-week-05-17-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/05/17/discoveries-this-week-05-17-2009.aspx&amp;amp;;title=Discoveries+This+Week+05%2f17%2f2009&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/05/17/discoveries-this-week-05-17-2009.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=18495" 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/haskell/default.aspx">haskell</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/FsCheck/default.aspx">FsCheck</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/dsl/default.aspx">dsl</category></item><item><title>F# for Testing and Analysis at Code Camp 11 New England</title><link>http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx</link><pubDate>Fri, 27 Mar 2009 22:36:00 GMT</pubDate><guid isPermaLink="false">647108ca-f046-4d8d-9feb-a7fbd2049b37:17818</guid><dc:creator>RickM</dc:creator><slash:comments>3</slash:comments><comments>http://www.atalasoft.com/cs/blogs/rickm/comments/17818.aspx</comments><wfw:commentRss>http://www.atalasoft.com/cs/blogs/rickm/commentrss.aspx?PostID=17818</wfw:commentRss><wfw:comment>http://www.atalasoft.com/cs/blogs/rickm/rsscomments.aspx?PostID=17818</wfw:comment><description>&lt;p&gt;At this Saturday’s Code Camp I’ll be giving a brand new presentation on using F#.&amp;#160; The goal of this presentation is to have those attending leave with an idea of &lt;strong&gt;what F# can help them achieve today&lt;/strong&gt; as well as instill a desire to know more.&amp;#160; This post contains my presentation materials as well as links to additional information on the topics covered.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;&lt;font size="4"&gt;Presentation Details &lt;/font&gt;&lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;F# for Testing and Analytics&lt;/strong&gt; will be held in the &lt;strong&gt;TBC&lt;/strong&gt; (Technical Briefing Center) at &lt;strong&gt;10:30am&lt;/strong&gt;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cbowen/archive/2009/03/23/code-camp-11-the-schedule.aspx"&gt;New England Code Camp 11 Information&lt;/a&gt; &lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:8eb9d37f-1541-4f29-b6f4-1eea890d4876:60cbd848-f0c1-4d46-acd8-db07498ae2eb" style="padding-right:0px;display:inline;padding-left:0px;float:none;padding-bottom:0px;margin:0px;padding-top:0px;"&gt;&lt;p&gt;&lt;div&gt;Download Presentation Slides: &lt;a href="http://www.atalasoft.com/cs/blogs/rickm/F_forTestingandAnalysis_004EBB79.pdf" target="_self"&gt;F# for Testing and Analysis.pdf&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;/div&gt;  &lt;p&gt;I’ve been thinking quite a lot lately &lt;a href="http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/19/f-for-testing-and-analysis-at-code-camp-11.aspx"&gt;on the best way to get developers excited about F#&lt;/a&gt;.&amp;#160; By focusing less on the language’s details and more on what the language can help achieve I hope to impress upon those attending why F# is worth the effort.&amp;#160; The preliminary structure of the talk is as follows::&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Introduction&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Announcing the New England F# User Group&amp;#160; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Why F#?&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Time Savings &lt;/li&gt;        &lt;li&gt;Readability &lt;/li&gt;        &lt;li&gt;Code Exploration &lt;/li&gt;        &lt;li&gt;Robust Software &lt;/li&gt;        &lt;li&gt;Power &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;F# Testing Toolbox&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;xUnit.NET &lt;/li&gt;        &lt;li&gt;TestDriven.NET and NCover &lt;/li&gt;        &lt;li&gt;NaturalSpec &lt;/li&gt;        &lt;li&gt;FsCheck &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;A Real World Example&lt;/strong&gt;       &lt;ul&gt;       &lt;li&gt;Exploring the Problem Space &lt;/li&gt;        &lt;li&gt;Collect, Analyze, Report &lt;/li&gt;        &lt;li&gt;Visualizing Data &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Presentation Influences      &lt;br /&gt;&lt;/strong&gt;John Hughes’s Paper: &lt;a href="http://www.math.chalmers.se/~rjmh/Papers/whyfp.html"&gt;Why Functional Programming Matters&lt;/a&gt;     &lt;br /&gt;John Hughes’s Talk: &lt;a href="http://video.google.com/videoplay?docid=4655369445141008672"&gt;FP – A Secret Weapon for Software Testing&lt;/a&gt;     &lt;br /&gt;Matthew Podwysocki’s 7 Part Series: &lt;a href="http://weblogs.asp.net/podwysocki/archive/2009/01/29/functional-programming-unit-testing-part-7.aspx"&gt;Functional Programming Unit Testing&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;&lt;font size="4"&gt;Announcing the New England F# User Group&lt;/font&gt;&amp;#160; &lt;/h2&gt;  &lt;blockquote&gt;   &lt;p&gt;I’m proud to announce that &lt;strong&gt;we will be holding our first New England F# User Group meeting on Monday April 6th, from 6:30pm to 8:30pm&lt;/strong&gt;.&amp;#160; It will be held at the aptly named &lt;a href="http://research.microsoft.com/en-us/labs/newengland/"&gt;Microsoft NERD center&lt;/a&gt;.&amp;#160; I hope to see you there.&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Visit the &lt;a href="http://fsug.org/"&gt;F# User Group Homepage&lt;/a&gt; for more information.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;font size="3"&gt;xUnit.NET&lt;/font&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“About a year ago it became clear to myself and Brad Wilson that there were some very clear patterns of success (and failure) with the tools we were using for writing tests. Rather than repeating guidance about &amp;quot;do X&amp;quot; or &amp;quot;don't do Y&amp;quot;, it seemed like it was the right time to reconsider the framework itself and see if we could codify some of those rules.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt; &lt;a href="http://www.codeplex.com/xunit"&gt;xUnit.NET Homepage&lt;/a&gt;   &lt;p&gt;&lt;strong&gt;Learn More about xUnit.NET      &lt;br /&gt;&lt;/strong&gt;Matthew Podwysocki’s &lt;a href="http://codebetter.com/blogs/matthew.podwysocki/archive/2008/05/29/the-unit-testing-story-in-f-revisited.aspx"&gt;The Unit Testing Story in F# Revisited&lt;/a&gt;     &lt;br /&gt;Jim Burger’s &lt;a href="http://nervoustych.com/blog/PermaLink,guid,fc3a3974-2284-43e1-a58e-f8a6af4cca4d.aspx"&gt;Unit testing in F# with xUnit.NET&lt;/a&gt;     &lt;br /&gt;Harry Pierson’s &lt;a href="http://devhawk.net/2007/12/12/Practical+F+Parsing+Unit+Testing.aspx"&gt;Practical F# Parsing: Unit Testing&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;font size="3"&gt;TestDriven.NET and NCover&lt;/font&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“TestDriven.NET is a zero friction unit testing add-in for Microsoft Visual Studio .NET. The current release of TestDriven.NET supports multiple unit testing frameworks including NUnit, MbUnit and MS Team System and is fully compatible with all versions of the .NET Framework.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt; &lt;/a&gt;&lt;a href="http://testdriven.net/"&gt;TestDriven.NET Homepage&lt;/a&gt; (Includes a free version of NCover)   &lt;br /&gt;&lt;a href="http://www.ncover.com/"&gt;NCover Homepage&lt;/a&gt;   &lt;p&gt;&lt;strong&gt;Learn More about TestDriven.NET and NCover      &lt;br /&gt;&lt;/strong&gt;Matthew Podwysocki’s &lt;a href="http://weblogs.asp.net/podwysocki/archive/2008/12/04/f-testdriven-net-xunit-net-win.aspx"&gt;F# + TestDriven.NET + xUnit = Win&lt;/a&gt;&amp;#160; &lt;br /&gt;Matthew Podwysocki’s &lt;a href="http://codebetter.com/blogs/matthew.podwysocki/archive/2008/12/21/functional-programming-unit-testing-part-4.aspx"&gt;FP Unit Testing Part 4 – Code Coverage&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;font size="3"&gt;NaturalSpec&lt;/font&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“The idea of NaturalSpec is to give domain experts the possibility to express their scenarios directly in compilable Unit Test scenarios by using a Domain-specific language (DSL) for Unit Tests. NaturalSpec is completely written in F# – but you don’t have to learn F# to use it. You don’t even have to learn programming at all.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt; &lt;/a&gt;&lt;a href="http://code.google.com/p/natural/"&gt;NaturalSpec Homepage&lt;/a&gt;&lt;/a&gt;   &lt;p&gt;&lt;strong&gt;Learn More about NaturalSpec      &lt;br /&gt;&lt;/strong&gt;Steffen Forkmann’s &lt;a href="http://www.navision-blog.de/2009/02/23/getting-started-with-naturalspec/"&gt;“Getting Started” with NaturalSpec&lt;/a&gt;     &lt;br /&gt;Steffen Forkmann’s &lt;u&gt;&lt;font color="#0101df"&gt;&lt;a href="http://www.navision-blog.de/2009/03/01/testing-quicksort-with-naturalspec/"&gt;Testing QuickSort with NaturalSpec&lt;/a&gt;&lt;/font&gt;&lt;/u&gt;     &lt;br /&gt;Steffen Forkmann’s &lt;a href="http://www.navision-blog.de/2009/02/23/using-naturalspec-to-create-spec-for-c-projects/"&gt;Using NaturalSpec to create a spec for C# projects&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;font size="3"&gt;FsCheck&lt;/font&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“FsCheck is a tool for testing .NET programs automatically. The programmer provides a specification of the program, in the form of properties which functions, methods or objects should satisfy, and FsCheck then tests that the properties hold in a large number of randomly generated cases.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt; &lt;/a&gt;&lt;a href="http://www.codeplex.com/fscheck"&gt;FsCheck Homepage&lt;/a&gt;   &lt;p&gt;&lt;strong&gt;Learn More about FsCheck      &lt;br /&gt;&lt;/strong&gt;Claudio Cherubino’s &lt;a href="http://www.fsharp.it/2008/12/28/random-testing-in-f-with-fscheck/"&gt;Random testing in F# with FsCheck&lt;/a&gt;     &lt;br /&gt;Matthew Podwysocki’s &lt;a href="http://codebetter.com/blogs/matthew.podwysocki/archive/2008/12/11/functional-programming-unit-testing-part-2.aspx"&gt;FP Unit Testing Part 2 – QuickCheck and FsCheck&lt;/a&gt;     &lt;br /&gt;Kurt Schelfthout’s FsChecking dnAnalytics &lt;a href="http://fortysix-and-two.blogspot.com/2009/02/fschecking-dnanalytics.html"&gt;Part 1&lt;/a&gt;, &lt;a href="http://fortysix-and-two.blogspot.com/2009/02/fschecking-dnanalytics-part-2.html"&gt;Part 2&lt;/a&gt; and &lt;a href="http://fortysix-and-two.blogspot.com/2009/03/fschecking-dnanalytics-part-3.html"&gt;Part 3&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;&lt;font size="3"&gt;FsStory&lt;/font&gt;&lt;/h3&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;“FsStory is a library for writing executable user stories in F#. FsStory enables the developer to write user story scenarios (in Given/When/Then form) in F# code.”&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;/p&gt; &lt;/a&gt;&lt;a href="http://www.codeplex.com/fsstory"&gt;FsStory Homepage&lt;/a&gt;   &lt;p&gt;&lt;strong&gt;Learn More about FsStory      &lt;br /&gt;&lt;/strong&gt;Gustaf Nilsson Kotte’s &lt;a href="http://coffeedrivendevelopment.blogspot.com/2009/02/fluent-language-in-fsstory.html"&gt;Fluent language in FsStory&lt;/a&gt;     &lt;br /&gt;Gustaf Nilsson Kotte’s &lt;a href="http://coffeedrivendevelopment.blogspot.com/2009/02/announce-fsstory-executable-stories-in.html"&gt;FsStory, executable stories in F#&lt;/a&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/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx&amp;amp;;subject=F%23+for+Testing+and+Analysis+at+Code+Camp+11+New+England" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.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/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx&amp;amp;;title=F%23+for+Testing+and+Analysis+at+Code+Camp+11+New+England" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.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/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx&amp;amp;;phase=2" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx"&gt;digg it!&lt;/a&gt; |  &lt;a href = "http://reddit.com/submit?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx&amp;amp;title=F%23+for+Testing+and+Analysis+at+Code+Camp+11+New+England" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx"&gt;reddit!&lt;/a&gt; |  &lt;a href = "http://www.dotnetkicks.com/submit/?url=http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx&amp;amp;;title=F%23+for+Testing+and+Analysis+at+Code+Camp+11+New+England" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.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/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx&amp;amp;;title=F%23+for+Testing+and+Analysis+at+Code+Camp+11+New+England&amp;amp;;top=1" target="_blank" title = "Post http://www.atalasoft.com/cs/blogs/rickm/archive/2009/03/27/f-for-testing-and-analysis-at-code-camp-11-new-england.aspx"&gt;live it!&lt;/a&gt;&lt;/div&gt;&lt;img src="http://www.atalasoft.com/cs/aggbug.aspx?PostID=17818" 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/.NET/default.aspx">.NET</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/Code+Camp/default.aspx">Code Camp</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/conference/default.aspx">conference</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/beautiful+code/default.aspx">beautiful code</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/fp/default.aspx">fp</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/testing/default.aspx">testing</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/functional+programming/default.aspx">functional programming</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/presentations/default.aspx">presentations</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/code+analysis/default.aspx">code analysis</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/xUnit.NET/default.aspx">xUnit.NET</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/FsCheck/default.aspx">FsCheck</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/NCover/default.aspx">NCover</category><category domain="http://www.atalasoft.com/cs/blogs/rickm/archive/tags/FsStory/default.aspx">FsStory</category></item></channel></rss>