Question

Je construis un compilateur qui cible .NET et j'ai déjà généré directement CIL, mais générer des arborescences DLR me facilitera grandement la vie.Je prends en charge quelques fonctionnalités dynamiques, à savoir la création de fonctions d'exécution et le ducktyping, mais la grande majorité du code est complètement statique.

Alors maintenant que cela a été expliqué, je me pose les questions suivantes :

  • Le DLR a-t-il été utilisé pour la compilation statique, en dehors de petits exemples sur les blogs MSDN ?
  • Si oui, quel type de performance a été obtenu ?
  • Si non, y a-t-il quelque chose qui empêche fondamentalement cela ?
  • Existe-t-il de meilleurs mécanismes de génération de code que l'utilisation du DLR ou l'émission directe d'IL ?

Tout aperçu de cela ou toute référence à des blogs/codes/discussions serait grandement appréciée.

Était-ce utile?

La solution

Je ne connais personne qui utilise encore le DLR de cette manière, bien que ce soit certainement l'un de ses cas d'utilisation prévus.Une chose intéressante à considérer est que les arborescences d'expressions du DLR ont été fusionnées avec les arborescences d'expressions LINQ, de sorte que l'IL produit pour LINQ dans une future version non encore annoncée de Visual Studio utilisera le code DLR.

Un aspect intéressant de la publication du DLR en open source est que nous n'avons aucune idée du genre de choses intéressantes que des personnes extérieures à l'entreprise pourraient faire avec :).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top