Domanda

Sto costruendo un compilatore destinato a .NET e in precedenza ho generato direttamente CIL, ma generare alberi DLR mi renderà la vita molto più semplice.Sono supportate alcune funzionalità dinamiche, ovvero la creazione di funzioni runtime e il ducktyping, ma la stragrande maggioranza del codice è completamente statica.

Quindi ora che è stato spiegato, ho le seguenti domande:

  • Il DLR è stato utilizzato per la compilazione statica, al di fuori di piccoli esempi sui blog MSDN?
  • Se sì, che tipo di prestazione è stata ottenuta?
  • In caso contrario, c’è qualcosa che lo impedisce fondamentalmente?
  • Esistono meccanismi migliori per generare codice rispetto all'utilizzo del DLR o all'emissione diretta di IL?

Qualsiasi approfondimento in merito o riferimenti a blog/codice/discussioni sarebbe molto apprezzato.

È stato utile?

Soluzione

Non sono ancora a conoscenza di nessuno che utilizzi la DLR in questo modo, anche se questo è sicuramente uno dei casi d'uso previsti.Una cosa interessante da considerare è che gli alberi delle espressioni di DLR sono stati uniti con gli alberi delle espressioni di LINQ, quindi l'IL prodotto per LINQ in una versione futura di Visual Studio non ancora annunciata utilizzerà il codice DLR.

Un aspetto interessante del rilascio di DLR come open source è che non abbiamo idea di che tipo di cose interessanti le persone esterne all'azienda potrebbero fare con esso :).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top