Recently we were fortunate to have Nicholas Blumhardt join the MEF team. Before joining Microsoft, Nick was a busy man building enterprise software solutions, including developing Autofac, one of the popular IoC containers. Nick is very passionate about incorporating software design patterns and principles (S.O.L.I.D.) in order to build maintainable software. He's also passionate about the usage of dynamic languages in achieving such principles. Aside from DI Container authoring, Nick has a bunch of experience with dynamic languages (apparently Autofac was based on a container written in Ruby). So what does this mean for MEF?
MEF is not bound to working with static languages, MEF is not bound to Type. MEF is bound to Parts. This is one of the things that makes MEF so special. Parts can be anything, including being authored in dynamic languages.
Aside from the other work Nick is doing on MEF, he is looking at what it means to compose parts on the DLR, with Ruby being his first stop. You can read about his foray into Ruby land in a new series on his blog over at http://blogs.msdn.com/nblumhardt. He's posted two in the series so far with more to come.
Hosting Ruby Parts in MEF
Ruby on MEF- Imports and Exports
I am sure this is going to blow your mind.