ものがたり(旧)

atsushieno.hatenablog.com に続く

C# 3.0 in mono

何かMarek(最近2人いるから僕も書いていて紛らわしいのだけど、asp.netではなくてmcsの方)が何やら画策しているようだ。C# 3.0は、言語設計として非常に優れている面があって、既存のコンパイラ実装に対する影響があまり無い。拡張部分はほとんどextension pointsでやっているということだろう。1.0 -> 2.0の時は、MS実装(.net 2.0のcsc)もバグだらけで始まったものだけど、そこから学んだということなんだろう。C# 3.0のコンパイラがバグだらけだという話は聞かない。

oliveの中では、既にだいぶ昔にArejandroがやっつけていたSystem.Query.dllがSystem.Core.dllに変更されているのだけど、コンパイラのコードはmcsにあって、C# 3.0はSystem.Core.dllに依存する(そりゃそうだ)。当初C# 3.0のコードはoliveに置かれる予定だったのだけど、それってコンパイラとSystem.Core.dllが一緒じゃないとビルドできなくね?と思ってそう伝えたら、そうかもという話になって、結局System.Coreはmcsの一部になることになりそうだ。

そんなわけで、この辺はそのうち何か出てくるかもしれない。