The short answer is that MetaObject is responsible for creating the code that will run on the call site. The mechanism that he uses for this is LINQ expression trees that have been extended to DLR. Therefore, instead of starting with an object, it starts with an expression that represents the object, and ultimately it will need to return an expression tree that describes the action that needs to be taken.
When playing with this, please remember that the version of System.Core in CTP was taken from a snapshot in late August. This is not very suitable for any specific IronPython beta. Since then, a number of changes have been made with DLR.
In addition, for compatibility with CLR v2 System.Core, IronPython releases, starting with beta 4 or beta 5, now rename everything that is used in the Microsoft namespace instead of the System namespace.
Curt hagenlocher
source share