こんどのC#はすごいな

C# 3.0すごいことになりそうですね。
おもいっきり関数型の思想を入れてきそうです。

// Line 1: (define f (lambda (a) (+ a 1)))
Func f = a => a + 1;

// Line 2: (define e (quote (lambda (a) (+ a 1))))
Expression> e = a => a + 1;

Code and Data in C#

quoteの概念をコンパイラ(強い型付言語)にいれちゃったよ。
はたして使いこなせるか。
でも、Expressionは、言語内DSLを実現するための強力な武器になりそう。

追記

ExpressionはLINQ関連で導入されたものなのですよね。
DonBoxは「Favorite new feature: LambdaExpression.Compile」のように書いているけど、いままでなかったのかな。

あと、日本語のC# 3.0の資料見っけ。

参考資料(日本語)

C# 3.0 の新機能