Yesterday I recorded a video at TechEd about Functional Programming in C#, together with my colleague Gary Short. It’s up on the site now: Functional Programming in C#.

Unfortunately, the quality of the code demo in the video isn’t that great, my apologies for that. I’m not even going to go into what they made me do to the Apple logo on my laptop :-) The info at the end of the video is supposed to read something like this: Oliver Sturm / DevExpress


I’ll be traveling down to London tomorrow for DevWeek 2009, where I’m going to do a workshop on F# on Monday and a few sessions on C# and F# on Thursday. Are you going to DevWeek? Are you going to be in London over the next few days? If you want to meet up, just let me know and I’m sure we can work something out! I’ll be twittering while I’m there, so following me on Twitter will be a good way of finding out where I am, if you fancy joining me for a pi …

Here’s the abstract I submitted for a birds-of-a-feather session at TechEd US:

Benefits of Functional Programming ideas in the context of parallelization efforts

_Parallelization is an important topic these days and Microsoft are doing a lot to make it easier. Without looking at the agenda, it seems safe to say that TechEd will be full of content around Parallel Extensions, the many-core shift and related issues. .NET Parallel Extensions are valuable and important, but there is still one …

As many of you have probably heard at some conference already, I have recently started writing a book for Wrox on “Functional Programming in C#“. I’ll try to blog about the topic a bit more, though I find myself not blogging very much at the moment… too much stuff to do. Anyway, I sat down with Keith and Woody at PDC this year and recorded a podcast on FP in C# — well, on some of the basics at least. If you’re interested, here it is:

Episode #23: Functional Programming in C# with Oliver Stu…

Editor’s note: In case you’re reading this in 2019, like I recently did, it should be pointed out that this opinion piece was written in the early days of F#. The language has since evolved in a variety of ways, which is not to say that the problems described below are necessarily solved today — but the position of F# in the landscape of .NET languages is now clearer than it was and I don’t agree anymore with the proposals I made in 2008.

In my continuing efforts to make XPO work fully wi …

I was playing around a bit today with F#, trying to write some real code that interfaces with WPF. Here are a few things I found — very much a “note to self” thing, but if you happen to be interested, please comment or ask.

Number 1 - implementing interfaces that include events is a PITA

I was trying to implement INotifyPropertyChanged, which contains the event PropertyChanged. Eventually I found a working description in this forum thread. I’ve now implemented the interface and a helper …

I just spent a little while hunting down an interesting problem in a little F# app. I had a bunch of code in a single file and I was going to structure it a bit and move certain parts into separate files. I started out from some code like this:

namespace Sturm.MyNamespace

type ICommandLine = begin
  abstract member Parts: string list

type IPlugin =
  abstract member CanHandle: ICommandLine -> bool
  abstract member Handle: ICommandLine -> unit

type blah =
  val mutable dummy:  ...

So here they are, the slides and samples of that Functional Programming in C# 3.0 session. My apologies for the slight delay - I already received a few emails about it - but my flight home was cancelled yesterday and everything was a bit chaotic.

Functional Programming in C# 3.0

Have fun!