Units of Measure in F#: Part One, Introducing Units

Do you remember NASA’s Mars Climate Orbiter? It was lost in September 1999 because of a confusion between metric and so-called “English” units of measurement. The report into the disaster made many recommendations. In all likelihood, the accident could have been prevented if the NASA engineers had been able to annotate their program code with…


Units of Measure in F#: Part Two, Unit Conversions

In today’s article I’ll show you how to use different systems of units, convert between units, and interface with non-unit-aware code. PowerPack goodies First, though, let’s have a look at some handy definitions provided in the F# PowerPack. To access this DLL, you’ll need to reference if from your project. If you’re working in Visual…


Units of Measure in F#: Part Three, Generic Units

In the first two articles in this series, we saw how to declare base and derived units, introduce constants with units, define our own conversion functions, and have F# check the units for us. But what if we’re writing code that doesn’t care what units it is working in? That’s the subject of today’s article….


Units of Measure in F#: Part Four, Parameterized Types

It’s been a while since I wrote anything on this blog. Now is a good moment to continue, with last week’s Beta 1 release of Visual Studio 2010, including F#, and a refresh to the F# Community Tech Preview add-on for VS 2008. If you haven’t yet installed either of these, I recommend that you…