Sunday, May 11, 2008


The Objectified Intermediate Language is a framework I'm writing to help people generate code in three of the .NET's primary target languages. That is:

  • Visual Basic
  • Visual C♯
  • Common Intermediate Language (CIL)
To do this, there are a few things I must do, such as provide functionality for the transitory steps necessary to generate CIL for operator overloads, short circuiting, extension methods, lambda expressions, anonymous types, literal arrays, yield enumerators, and so on. I think the primary way I'll enable such functionality is through an abstract framework for defining extended functionality. Because this way I can define new functionality and merely query the translator on support, if none exists, then the 'feature' is responsible for creating the necessary code to manage the information relative to the limitations of that specific language. This will, of course, require a certain subset of functionality, in the event that minimal support for translation is given.

There are other concerns with the project. One such concern is the necessary code needed to do all of this. Presently the framework merely defines what is what, and doesn't yet actually do anything beyond simple expression translation with minimal short circuiting support. Even still the framework builds to around ~600KB and the .xml doc comments is ~1.52MB, and I've only just begun.

Once the OIL Framework is completed, I'll move onto other things, such as the Scripting Language Foundation (SLF) that will utilize the OIL framework for working its magic.

If anyone has any suggestions, questions or comments about this project, post a reply.

No comments: