Recursive lambda expressions

This is a very geeky post. The tiny piece of useful information comes right at the bottom. The rest of it is all artifacts of the obscure art of doing lambda calculus in C#, which can also be characterized as doing very much with very little, sacrificing only readability. People sometimes complain that you cannot…

38

Is C# becoming a functional language?

As many of you will be aware, C#3.0 is adding a significant number of new language features.  While the overall driving force behind putting these features in is the support of LINQ (Language INtegrated Query), the way we do it is strongly inspired by functional programming techniques. Moreover, we strive to make the new features…

30

What is a collection?

Admitted, we blew it in the first version of the framework with System.Collections.ICollection, which is next to useless. But we fixed it up pretty well when generics came along in .NET framework 2.0: System.Collections.Generic.ICollection<T> lets you Add and Remove elements, enumerate them, Count them and check for membership. Obviously from then on, everyone would implement…

41

Welcome to the language designer’s workshop

Hi there, Ever tried designing a programming language? If you got far enough you’ll know that it is fun, exciting, exhausting, mind boggling, frustrating and utterly surprising. I’m the language PM on the C# team here at Microsoft. I am part of the language design group, take notes from our meetings, communicate decisions to the…

2