Unity really desperately needs a Mono upgrade, as their version is years old. Unfortunately it seems to be a licensing issue with Xamarin, because of LGPL constraints on mobile platforms. It's quite frustrating to work with C# without all the features of the last few versions, particularly if you want to use third party libraries.
It's especially frustrating because ClojureCLR won't run on such old versions of Unity. I spent a good three days trying to backport all the necessary library code and eventually gave up. I was really hoping to get a decent interactive environment working with Unity.
The compiler and parsing pipeline is exposed, there is an interpreter built-in, you can hook into the assemblies, etc. I have a console in my game that does input/output from a Boo interpreter and it is exposed to everything in the game scope with no real extra effort on my part.
Only took a few hours to set up, most of which was spent either writing a UI for it or sorting out some compatibility issues (Unity doesn't come with a copy of Boo.Lang.Interpreter).
It's pretty sweet.