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…

7

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…

1

F# Language Details (Gotchas)

The ‘F’ in F# stands for fun. However, there are some details in F# that might lead to bugs, surprises, and/or un-fun. This post is to highlight a couple of random ‘gotchas’ when exploring some corners of the F# language.   Overriding Equals and Not Equals F# allows you to overload operators so you can…

6

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…

3

Awesome F# – Decision Trees – Part I

Programming F# is out! Meaning you can, and should, go to the store and pick up a copy today. With Programming F# serving as a solid guide for the F# Language, I’d like to start posting less about language features and more about applications. That is, what can you do with this awesome language. This…

5

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…

2

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…

8

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…

4

Back in Action!

I know it’s cliché to blog about blogging, but I’d like to take this opportunity to explain why there has been such a lull. In short, I’ve been busy. Finished Programming F# As you might have heard, I was working on a book. Well no more! The book is done and only undergoing minor technical…

9

Lightweight PGN parser in F# – Part I

If you’ve ever spent a lot of time around the game of Chess you’ve probably seen or interacted with the PGN file format in one way or another. PGN stands for Portable Game Notation and is a concise way to represent Chess games. Using regular expressions I’ve written a very lightweight parser to handle the…

5