Just two quick notes.
I implemented a missing feature in Mono and two people were offering a bounty for it. Who knew that hacking Mono as a hobby would help pay my car insurance? 🙂
Over the past week or so I’ve been reading the Red Dragon Book with the specific goal of writing a language targeting the CLI, specifically the DynamicMethod gap. We have tons of languages but none give you the ability to compile a block of code to a DynamicMethod without some horrible and inefficient hack. The language will be very limited and will solve a specific problem for me, but of course I will be releasing it in case anyone else finds it useful.
It will not support OO or strings at all, or at least nothing of the sort is planned. It will be primarily a math expression evaluator. The type that the DynamicMethod is declared on will have all of its methods and fields that are tagged with a certain attribute exposed to the code. I may hack something up for the case where variables used in the code block need to persist between invocations.
Should be fun, and if it turns out that I find something better at least I’ll be able to say that I wrote a compiler.