Disons que je voulais créer un compilateur / interprète de langage dynamique, un interprète Scheme peut-être, sur la plate-forme .NET telle qu'elle existe aujourd'hui. Serais-je mieux d'utiliser le Dynamic Language Runtime (DLR) ou d'utiliser C # 4.0 pour implémenter les fonctionnalités dynamiques de mon langage? Ou ai-je besoin des deux?
Je sais qu'il y a eu d'autres travaux dans ce domaine, en particulier avec IronScheme et IronPython . Ces deux langues utilisent le DLR; Je crois qu'IronPython utilise la version la plus récente du DLR (qui a environ un an), tandis qu'IronScheme utilise un fork précoce et fortement modifié d'une version ancienne du DLR. Mais C # 4.0 n'était pas disponible lorsque ces compilateurs ont été créés.
J'ai vu le travail de Rob Conery avec Massive, en utilisant les fonctionnalités dynamiques de C # 4.0; c'est assez impressionnant. Mais C # résisterait-il à l'effort à grande échelle d'un compilateur / interprète de langage dynamique? Y a-t-il des fonctionnalités dans le DLR qui manquent dans C #, ou le DLR a-t-il été essentiellement intégré dans C # 4.0? Est-ce que je manquerais des fonctionnalités importantes du DLR si je n'utilisais que C # 4.0 exclusivement?
la source
Réponses:
Voici l'article dont je me souviens avoir lu. msdn.microsoft.com/en-us/magazine/gg598922.aspx
la source
http://dlr.codeplex.com/discussions/268746#post656778
la source