Ich erstelle einen Compiler, der auf .NET abzielt, und ich habe CIL vorher direkt generiert, aber das Erzeugen von DLR-Bäumen wird mein Leben erheblich erleichtern. Ich unterstütze ein paar dynamische Features, nämlich die Erstellung von Runtime-Funktionen und das Ducktyping, aber die große Mehrheit des Codes ist komplett statisch.
Nun, da das erklärt wurde, habe ich folgende Fragen:
Jeder Einblick in diese oder Verweise auf Blogs / Code / Gespräche würde sehr geschätzt werden.
Ich bin mir nicht bewusst, dass jemand das DLR auf diese Weise benutzt, obwohl dies definitiv einer seiner beabsichtigten Anwendungsfälle ist. Eine interessante Sache ist, dass die Ausdrucksbäume des DLR mit LINQ-Ausdrucksbäumen zusammengelegt wurden, so dass der IL, der für LINQ in einer noch nicht angekündigten zukünftigen Version von Visual Studio erzeugt wird, den DLR-Code verwendet.
Ein guter Aspekt bei der Freigabe des DLR als Open Source ist, dass wir keine Ahnung haben, welche interessanten Dinge die Leute außerhalb des Unternehmens machen könnten:).
Tags und Links .net compiler-construction dynamic-language-runtime cil