Angenommen, ich wollte einen dynamischen Sprachcompiler / -interpreter, möglicherweise einen Scheme-Interpreter, auf der heutigen .NET-Plattform erstellen. Wäre es besser, die Dynamic Language Runtime (DLR) oder C # 4.0 zu verwenden, um die dynamischen Funktionen meiner Sprache zu implementieren? Oder brauche ich beides?
Ich weiß, dass in diesem Bereich andere Arbeiten durchgeführt wurden, insbesondere mit IronScheme und IronPython . Beide Sprachen nutzen das DLR; Ich glaube, IronPython verwendet die aktuellste Version des DLR (die ungefähr ein Jahr alt ist), während IronScheme eine frühe, stark modifizierte Gabel einer frühen Version des DLR verwendet. C # 4.0 war jedoch nicht verfügbar, als diese Compiler erstellt wurden.
Ich habe Rob Conerys Arbeit mit Massive gesehen, bei der die dynamischen Funktionen von C # 4.0 verwendet wurden. es ist ziemlich beeindruckend. Aber würde C # dem vollen Aufwand eines dynamischen Sprachcompilers / -interpreten standhalten? Gibt es Funktionen im DLR, die in C # fehlen, oder wurde das DLR im Wesentlichen in C # 4.0 integriert? Würde ich wichtige Funktionen des DLR vermissen, wenn ich nur ausschließlich C # 4.0 verwenden würde?