I am just starting to try to learn more about the .Net VM subsystem, and I immediately drop something. I know this new thing is called DLR, which allows all dynamic materials in C # and the launch of IronX languages. But now I read about this language called Boo, and apparently it had dynamic capabilities long before the existence of DLR. So,
1) How is this possible?
2) What adds DLR to the equation?
3) Can a language like Boo get anything by reprofiling in terms of DLR?
From what I put together here and there, it looks like the DLR came out of IronPython when they took into account everything that was needed to support DL in .NET and put it in a reusable form. So I assume that DLR is not something special, just some libraries that help with dynamic objects in Microsoft.Scripting.dll, but nothing that you could just crash and code yourself if you had was there time I think what happened to boo? And then for 2 and 3, I assume that the commonality and reusability of DLR will automatically rebuild any future DLR improvements automatically, but it does not require an urgent “need” for re-implementation using DLR if you already made your own custom time fulfillment? Or does DLR have some secret MS sauce that makes it better than anything we could do on top of .Net?
4) Is DLR really a runtime or just a collection of libraries? (Anyway, what is the runtime? Probably I need to learn more compiler theory before I even understand the answer to this question, or is it even a question that means anything. Ignore this question. Or don't do it.)
5) How does IronPython compilation work? Will she compile a new dynamic version of CIL or add the command "ironpython.exe" to the line with the program text? Hmm, well, if a dynamic keyword is in C #, then there must be a dynamic version of CIL, right? So how does .NET know whether to use CLR or DLR on CIL?
6) Is the DaVinci project for the JVM different? This seems to be the actual reimplementation of the JVM itself. What are the implications of this approach? I guess there are huge performance gains out there, but anything else? Any reason MS didn't go this route?
7) Is DLR for Boo somewhat outdated for DSL?