現在の.NETプラットフォーム上に、おそらくSchemeインタープリターである動的言語コンパイラー/インタープリターを作成したいとしましょう。Dynamic Language Runtime(DLR)を使用するか、C#4.0を使用して言語の動的機能を実装する方が良いでしょうか?または、両方が必要ですか?
特にIronSchemeとIronPython に関して、この分野で他の作業が行われたことを知っています。これらの言語は両方ともDLRを使用します。IronPythonはDLRの最新バージョン(約1年前)を使用し、IronSchemeは初期バージョンのDLRの大幅に修正された初期のフォークを使用すると考えています。しかし、これらのコンパイラが作成されたとき、C#4.0は利用できませんでした。
C#4.0の動的な機能を使用したRob ConeryのMassiveでの作業を見てきました。とても印象的です。しかし、C#は動的言語コンパイラ/インタープリターの本格的な努力に耐えるでしょうか?C#にない機能がDLRにありますか、それともDLRは本質的にC#4.0に組み込まれましたか?C#4.0のみを使用した場合、DLRの重要な機能が失われますか?