Evil idea #1:
use Inline::C_Sharp;
Combine
Inline with
C#. Perhaps when
Mono matures, that could be the execution vehicle.
Evil idea #2:
Compile C# with Perl
There's a start to an open source compiler in C# as part of
Mono. They've got it generating a parse tree, which means they have a grammar. Steal the grammar, plug it into Parse::RecDescent, then write the code to emit unoptimized intermediate language. Bingo, a C# compiler that you don't need Mickeysoft or a .NET runtime to use.
Evil idea #3:
Perl as a CIL runtime
Take the Common Intermediate Language emitted by compilers, and interpret it with Perl. Perhaps use the trick that Simon and Leon are working on, to build Perl runtime structures corresponding to the bytecode. Perhaps just implement the virtual machine using Perl--it wouldn't be fast to run, but it wouldn't require anything we didn't already have. (Mono makes me nervous because they talk about making use of the GNOME libraries, which have been nothing but DLL hell for me every time I've tried a GNOME app).
Ob.Plug: There'll be talks on C#, Perl and .NET at the Open Source Convention:
--Nat