Saturday, 26 March 2011

Don't install VS2010 SP1

The new Service Pack 1 for Visual Studio 2010 is buggy and may cause irreparable corruption:

Installing this service pack destabilized one of our development machines and, more worryingly, attempting to uninstall the service pack produces the above warning that it may irreparably corrupt the Visual Studio 2010 installation.

We have no reason to believe that this is F# specific (there have been many complaints from non-F# users) but some of our customers have reported that it destabilised their systems too, both the development environment and programs containing F# source code.

Our F# implementation of Okasaki's purely functional real-time queue data structure started to suffer from MissingMethodExceptions after we installed SP1. Two of our clients are experiencing problems using F# with Silverlight only after having installed SP1.

Therefore, we are recommending that users avoid this Service Pack until the issues have been identified and resolved.

Wednesday, 23 March 2011

Game of Concentration

The F#.NET Journal just published another article about game programming:

"Concentration is a popular game where the objective is to remember previously-seen cards when flipping over pairs in order to find matching pairs and remove them from the game until none remain. This article describes the design and implementation of a WPF application that implements the game of Concentration. In particular, a novel design is adopted that uses an asynchronous agent to handle user interface timeouts elegantly and a set of mutually recursive asynchronous workflows that implement the state machine of the game logic..."

To read this article and more, subscribe to The F#.NET Journal today!

Sunday, 13 March 2011

Sliding averages

The F#.NET Journal just published another article about a semi-numerical algorithm:

"Sliding window algorithms are a class of algorithms that treat streams of data by computing a statistic across a window for each position of the window within the data stream. Moving averages are sliding window algorithms that compute an average over each window. This article begins with a simple implementation of the sliding mean average and goes on to examine more efficient algorithms for both mean and median sliding averages..."

To read this article and more, subscribe to The F#.NET Journal today!