As always, a huge number of software releases and high quality articles this week.  My favorite thing about the F# community is that someone is always writing about something that tickles my brain.  While right out of a computer science textbook, I enjoyed Erik Schulz’s sorting animations quite a lot.  His animations are excellent.

 

News

VS2010 Pro Power Tools Released (fixes scrolling reference dialog)

A set of extensions to Visual Studio Professional (and above) which improves developer productivity.  Includes a New ‘Add Reference’ dialog: Pops up fast and is more pleasant (less frustrating) to use.

 

HuwmanCode 0.1 Released – Simplified Windows Services in F#

HuwmanCode is a collection of libraries intended to enhance the base class libraries for developers writing F#. Using HuwmanCode you can write a Windows Service in F# entirely.

 

F# Project Extender 0.9.3 Released

Installing F# Project Extender provides tools to better organize files in F# projects by allowing project subdirectories and separating file management in Solution Explorer from controlling compilation order.

 

VCC 2.1.30625 Released (Written in F#)

VCC is a mechanical verifier for concurrent C programs. VCC takes a C program, annotated with function specifications, data invariants, loop invariants, and ghost code, and tries to prove these annotations correct. If it succeeds, VCC promises that your program actually meets its specifications.

 

Fing 0.1 Released

Fing is F# API Search. It's inspired by Hoogle, although it is not a port.

 

 

Audio/Video

Tomas Petricek at the London F# User Group – Reactive Programming in F#

During this talk, Tomas will cover two techniques. We'll start by looking at F# events and declarative approach for specifying event processing. Next, we'll look at embedding F# event handling into asynchronous workflows and programming using "state machines". We'll also briefly mention how this relates to more general functional programming "design patterns".

 

A Listing of F# TechEd Talks, at the New England F# User Group

A complete listing of all TechEd talks pertaining to F#.  Thanks Talbott!

 

 

Articles

Antonio Cangiano’s How Microsoft is changing the programming world.

The end result of Microsoft’s new approach is that now Joes everywhere are getting exposed to functional programming (masses of people who would otherwise be virtually shielded from the rest of the programming world).

 

Erik Schulz’s Cartesian Tree Sort, Insertion Sort, Priority Queue & Heap Sort, Heap Sort, Selection Sort, Quick Sort, Gnome Sort, Comb Sort, Odd-even Sort, Cocktail Sort, and Bubble Sort.

Inspired be Wikipedia's algorithm pages I decided to recreate their animations using JavaSrcipt and HTML5 canvas elements. IE 8 does not support canvas however new versions of all other modern browsers do. Mozilla Firefox, Google Chrome, Safari, and Opera.

 

Laurent Le Brun’s F# + OpenGL: a cross-platform sample

The nice thing is that the application was cross-platform. I tried it on Windows, Linux and Mac, it worked everywhere, without changing a single line. It seems like F# is ready to make great cross-platform 3D applications!

 

Daniel Mohl’s An F# WPF MVVM Project Template

I've been planning for a while to create an F# WPF MVVM Template to add to the other templates that have been announced on this blog.  A resent post by Mark Pearl provided a great simple example which helped kick me into gear and bring this plan to fruition.

 

Jomo Fisher’s Use FsLex and FsYacc to make a parser in F#

The starter project implements a simple calculator language that you can grow into a more sophisticated Domain Specific Language or text processing application.

 

Julien Ortin’s SEO helpers in F#

In this post, we describe how to implement functions that help fetch information that can be used to study how well (or bad) the keywords are used on a given website in comparison with other (successful) competitors.

 

Neil Carrier’s Flip Operator for F#

I ask again: is there a good native way to do this in F#? If not, it might well worth standardizing this. (And potentially other FORTH-like operators like “over” and “rot,” perhaps with an extensible syntax.)

 

Joel Björnson’s Fun with dependent formlets (in WebSharper)

To give some hints of what you can do with the WebSharper formlet library, the objective of the following exercise is to create a simple spread-sheet like widget based on formlets.

 

Joel Björnson’s More of Ext JS and WebSharper

In general, seamlessly being able to create data abstractions and transfer data back and forth between the server and client is a very strong incentive for using the WebSharper extension.

 

Joel Björnson’s Reactive programming with WebSharper

In following post I'd like to highlight F# (and WebSharper) support for asynchronous and reactive programming.

 

Mark Pearl’s F# Seq.Unfold

The more I play the more I am really loving F# and how succinct the language is.  Today I thought I would put up a brief post on the Seq.unfold function.

 

Daniel Merino’s Testing F# (with Traveling Salesmen)

The next example is a little snippet that returns a dictionary distances between cities for a small distributed traveling salesman problem I did last year to test F# on a software engineering class.

 

Richard Minerich’s Love the Lambda

So the idea for Love the Lambda was born:  I would demonstrate both the usefulness and sheer novelty of first class functions and do so simultaneously in C# and F#.  More than that, I would use the opportunity as a kind of F# omnibus.

 

Pete Hunt’s F# rocks (so far)

I have to say, I really like F# so far. For those of you not in the know, F# is Microsoft’s new first-class language that has been in development since 2002 but debuted in Visual Studio 2010. It is basically a dialect of O’Caml that runs on .NET and has full Visual Studio support.