Ernest is working on G#(The Generative Programming Language) an Aspect Oriented Language with type-safe code generation capabilities.According to him Its purpose is to generated type-safe code that is injected into a code base at compile-time and run-time. The syntax is a superset of C# 2.0. Unlike other code generation techniques as CodeSmith (Which is a great tool / language), G# is not intended to produce code as a starting point or code for consumption. Instead, G# uses Aspect Oriented Programming (AOP) techniques to inject code into the client code. We will quickly cover the basics of AOP since it is still new to most developers.
you may download G# spec from here
Other interesting read: nemerle language for .NET