Diciamo che volevo creare un compilatore / interprete di linguaggio dinamico, forse un interprete di Scheme, sulla piattaforma .NET così come esiste oggi. Sarebbe meglio usare Dynamic Language Runtime (DLR) o utilizzare C # 4.0 per implementare le funzionalità dinamiche del mio linguaggio? O ho bisogno di entrambi?
So che sono stati fatti altri lavori in quest'area, in particolare con IronScheme e IronPython . Entrambe queste lingue usano il DLR; Credo che IronPython utilizzi la versione più recente del DLR (che risale a circa un anno fa), mentre IronScheme utilizza un fork precocemente fortemente modificato di una versione precedente del DLR. Ma C # 4.0 non era disponibile al momento della creazione di questi compilatori.
Ho visto il lavoro di Rob Conery con Massive, usando le funzionalità dinamiche di C # 4.0; è abbastanza impressionante. Ma C # reggerebbe lo sforzo su vasta scala di un compilatore / integer di linguaggio dinamico? Ci sono funzionalità nel DLR che mancano in C # o il DLR è stato essenzialmente implementato in C # 4.0? Mi mancheranno alcune importanti funzionalità del DLR se avessi usato esclusivamente C # 4.0?