Pregunta

Estoy creando un compilador dirigido a .NET y anteriormente generé CIL directamente, pero generar árboles DLR me hará la vida bastante más fácil.Admito algunas características dinámicas, a saber, la creación de funciones en tiempo de ejecución y la escritura de patos, pero la gran mayoría del código es completamente estático.

Ahora que ya se ha explicado, tengo las siguientes preguntas:

  • ¿Se ha utilizado DLR para compilación estática, además de pequeños ejemplos en blogs de MSDN?
  • Si es así, ¿qué tipo de desempeño se logró?
  • Si no es así, ¿hay algo que lo impida fundamentalmente?
  • ¿Existe algún mecanismo mejor para generar código que usar el DLR o emitir IL directamente?

Cualquier idea sobre esto o referencias a blogs/códigos/charlas sería muy apreciada.

¿Fue útil?

Solución

No conozco a nadie que utilice el DLR de esta manera todavía, aunque este es definitivamente uno de los casos de uso previstos.Una cosa interesante a considerar es que los árboles de expresión de DLR se han fusionado con los árboles de expresión de LINQ, por lo que el IL que se está produciendo para LINQ en alguna versión futura de Visual Studio aún no anunciada utilizará el código DLR.

Un aspecto interesante de lanzar el DLR como código abierto es que no tenemos idea de qué tipo de cosas interesantes podrían estar haciendo personas ajenas a la empresa con él :).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top