On April 13th, during Microsoft’s inaugural UK TechDays event, I’ll be speaking for the Edge UG at the main Fulham Broadway venue. This is part of what Microsoft call the Fringe events, community hosted events that complement the main Developer and IT Pro days. I will be speaking about functional programming on the .NET platform, using both the C# and the F# languages. Here’s the abstract for this talk:

F# is a new language in Visual Studio 2010, a hy …


I posted some sample code recently, for some tests with C# 4.0 dynamic. Now I’ve found a new interesting thing — perhaps this is also related to using beta 2 instead of the RC, again I’ll try this when I get around to it. The thing is, I have created my own dynamic object:

public class MyDynamicType : DynamicObject {
  public override bool TryInvokeMember(InvokeMemberBinder binder,
    object[] args, out object result) {
    Console.WriteLine("TryInvokeMember {0}", binder.Name);



Update: Since this behavior hasn’t changed in VS 2010 RC, I have reported the problem to MS on their Connect Site: Dynamic Dispatch in C# doesn’t seem to work in simple case

I’m testing a few things with VS 2010 beta 2, around the “dynamic” keyword in C# 4.0. Mostly good, but there’s a bit of odd behavior — I thought I’d post about it, in case somebody has a comment, and so I don’t forget to test again once I go to the RC again (had it installed the other day, just to find there was no co …


I was just trying out this piece of code:

dynamic expando = new ExpandoObject( ) {
  FirstName = "Oliver",
  Name = "Sturm"

This doesn’t work! Not sure whether that’s intended (this is VS 2010 beta 2, in case you’re wondering), but it really seems like a feature that should work… of course, if you’re not familiar with the ExpandoObject, this piece of code does work:

dynamic expando = new ExpandoObject( );
expando.FirstName = "Oliver";
expando.Name = "Sturm";

I was in Amsterdam yesterday and did a talk for the dotNed user group on functional programming in C#. It’s always a great topic to talk about, and as usual everybody was very interested. We spent a bit more time on the Parallel Extensions than I was anticipating — the main reason I even start explaining Parallel Extensions is that I want to point out where their functionality ends — but that was fine. I think I was able to answer a bunch of questions on that, which is always a good thing. …

When I was at DevDays in The Hague last month, all my talks were recorded. Until now I wasn’t aware that something was actually going to happen with these recordings :-) Now the first one of them has been published on Channel 9, here: http://channel9.msdn.com/posts/matthijs/Taking-Efficiency-One-Step-Further-FSharp/

I’m wondering if my FP in C# talk will also be published - while I was there, that one seemed to be the most popular one I did. I’ll ask!

Update: Apparently all presentations …

The first stop of my Europe roundtrip is completed and I’m now in Slovenia for NT konferenca 2009. Last Friday I did a guest lecture at campus02 in Graz (which is in Austria, btw — had a few people asking me that), on functional programming in C#. I think there were around 40 people there, everything went smoothly and everybody was very interested — great! Here are the complete slides and samples which were used in the lecture: GrazGuestLectureMay2009.zip{filename=GrazGuestLectureM …

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 olivers@devexpress.comoliver@sturmnet.org