Допустим, я хотел создать динамический языковой компилятор / интерпретатор, возможно интерпретатор Scheme, на платформе .NET, как он существует сегодня. Будет ли мне лучше использовать Dynamic Language Runtime (DLR) или использовать C # 4.0 для реализации динамических функций моего языка? Или мне нужны оба?
Я знаю, что в этой области была проделана другая работа, в частности с IronScheme и IronPython . Оба этих языка используют DLR; Я считаю, что IronPython использует самую последнюю версию DLR (которой около года), в то время как IronScheme использует раннюю, сильно модифицированную ветвь ранней версии DLR. Но C # 4.0 не был доступен, когда были созданы эти компиляторы.
Я видел работу Роба Конери с Massive, используя динамические возможности C # 4.0; это довольно впечатляет. Но выдержит ли C # полномасштабную работу динамического языкового компилятора / интерпретатора? Есть ли функции в DLR, которые отсутствуют в C #, или DLR по существу свернут в C # 4.0? Буду ли я упускать какие-либо важные функции DLR, если я буду использовать исключительно C # 4.0?
источник
Ответы:
Эту статью я помню, как читал. msdn.microsoft.com/en-us/magazine/gg598922.aspx
источник
http://dlr.codeplex.com/discussions/268746#post656778
источник