DAWG-fight, Optimizing text search in F# II

Some of you may have seen Dr. Brian McNamara’s post refuting my credentials as an evil genius. Lies! All lies propagated by the liberal media! Evidently, he thinks that his superior implementation of a trie, which is faster and uses much less memory, is better than mine. If being an evil genius means having smaller,…


F# CTP Update!

Hot on the heels of the Visual Studio 2010 Release Candidate comes the February, 2010 F# CTP. There haven’t been too many changes since the last release, mostly bug fixes and getting the libraries in a consistent state. You can find more information on Don’s blog.


Trie-ing to optimize text search in F#

Any evil genius knows that if you want to stay on top you need to exercise your mind. Most evil geniuses stay strong by lifting weights with their telekinetic abilities, however I prefer video games. PopCap.com’s Bookworm is one mental exercise I am particularly fond of. Bookworm is simple. You have  7×7 hexagonal grid of…


The Halting Problem and the Church-Turing Thesis

Two weeks ago at PDC Dustin “former blogger” Campbell and I sat down with Keith and Woody to record an episode of Deep Fried Bytes. The show hasn’t been posted yet, but I’m sure it will turn out great. We talked about all sorts of things, from me shamelessly promoting my book to Silverlight 4.0…


Source Code for Programming F#

I’ve gotten a few requests recently for the source code of the examples in Programming F#. I’ve attached them as a series of F# Script files. In the ZIP file you’ll find a few gems such as: A ‘state’ computation expression Examples of F# Asynchronous Workflows and the Parallel Extensions to .NET References for writing OO…


Awesome F# – Decision Trees – Part II

In my previous post I went over the theory behind the ID3 algorithm. Now that we got all that painful math out of the way, let’s write some code! Here is an implementation of the algorithm in F#. (It is also attached to this blog post, download it via the link at the bottom.) open…


Upcoming F# Talks

Recently legendary Cambridge research Don Syme presented an Introduction to F# at JAOO Aarhus in Denmark. From what I’ve heard the talk went really well, and the slide deck is a great way to pick up the F# language (or give an intro-level presentation yourself). I figured I’d point out some other upcoming F# talks…


Grotesque F# Code – I

Recently a friend came to me in a mild panic about some massive refactoring he needed to do to an F# code base. The code he had was very complicated and maintenance was a pain. After only a few seconds scanning through the code I certainly could see that the code was more complicated than…


F# for Architects: Hitting the sweet spot

When I was at DevLink last week I gave a talk designed to specifically identify why and when you should use F#. I was going to post the slides, but then I realized that they are in the form of a ‘presentation deck’ rather than a ‘reading deck’. So rather than having a few vague…


F# Scripting Zen – Bulk Updating Testcases

As the F# team is busy working to finish up Visual Studio 2010, one task left to complete is to localize the compiler, so that on a Japanese machine the error messages will be in Japanese. While I’m sure a few Ugly American Programmers might question the value of localized error messages, imagine if the…