Archive for May, 2006

Looking at F#

Mark on May 23rd 2006

In my “copious spare time” over the past couple of weeks, I’ve been using the new F# language out of Microsoft Research.

It looks great. The F# language has a rock-solid heritage, from the ML family of functional programming languages. So, you get higher-order functions, strong typing with type inference, parametric polymorphism, closures, datatypes, and exceptions. But (unlike those whacky lazy functional languages such as Haskell) you also get strict evaluation like you already understand, side-effects like you know and love, and references like you just sometimes need. F# is more directly descended from Objective Caml, so you also get objects and classes.

What F# adds to the mix is seamless .net integration. You just tell F# about where a .net dll is, and then all of that managed code becomes available to call as if it were written directly in F#.

But F# is not just about the language itself - there’s also a good Visual Studio integration. Compared to the good old days of hacking around with Standard ML just on the interpreter command line, it’s a real pleasure to have an IDE with interactive debugging, and dynamic hints while-you-code, about types and about available functions and arguments.

Of course F# still has an interpreter too (also somewhat integrated with Visual Studio). Working with an interpreter is a huge productivity boon. It’s the ultimate in agile development - you can build your code from the “inside out”, so you always have working software without needing all the initial overhead of scaffolding for your proto-system.

The guy behind F# is Don Syme, another Aussie who shared an office and a PhD supervisor with me in Cambridge in the late ’90s. Beaudy Don!

Filed in Software | 4 responses so far

Spicy Ghost

Mark on May 8th 2006

My supplies of the chilli-and-lime lager are getting lower now, and it’s also about time to lay something down for Spring. I was hoping to do a wheat beer, but my local supermarkets weren’t stocking those. Instead I’ve just put on a “wheat inspired” draught beer - Cascade’s Spicy Ghost. I added Coopers Brew Enhancer Type 2 again - I’m not sure if it really makes things better, but it certainly doesn’t make it worse! There’s no sense messing with something that’s not broken.

Filed in Homebrew | No responses yet