Digamos que eu quisesse criar um compilador / intérprete de linguagem dinâmica, talvez um intérprete de esquema, na plataforma .NET como ela existe hoje. Seria melhor usar o DLR ( Dynamic Language Runtime ) ou usar o C # 4.0 para implementar os recursos dinâmicos do meu idioma? Ou preciso dos dois?
Eu sei que houve outros trabalhos nessa área, em particular com o IronScheme e o IronPython . Ambos os idiomas usam o DLR; Acredito que o IronPython usa a versão mais atual do DLR (que tem cerca de um ano), enquanto o IronScheme usa um fork pesado e modificado de uma versão anterior do DLR. Mas o C # 4.0 não estava disponível quando esses compiladores foram criados.
Vi o trabalho de Rob Conery com o Massive, usando os recursos dinâmicos do C # 4.0; é bastante impressionante. Mas o C # suportaria o esforço em grande escala de um compilador / intérprete de linguagem dinâmica? Existem recursos no DLR que estão faltando no C # ou o DLR foi essencialmente compactado no C # 4.0? Faltaria algum recurso importante do DLR se eu apenas usasse o C # 4.0 exclusivamente?