I just got this crazy idea... Looking for an interesting nontrivial project that will help me learn Common Lisp, I started pondering writing a C compiler. C is a relatively simple language which should make this task doable. Besides, there are ready Lex/Yacc grammars for C so I won't have to spend much time on the parsing code.

Where are a few choices of a target language, of which Parrot looks most appealing, mostly because it will help me learn and understand Parrot...

I wonder how difficult it is to run C on Parrot, which was designed for dynamic (Perl, Python, Ruby...), rather than static (C, C++, Java) languages.

Also, I wonder if such a thing can be useful to anyone... One of the uses I can think of is nice integration with Perl6. If both Perl6 and C will compile to Parrot, it should be very simple to add C libraries to Perl6 code.

Update 11.07.2008: That was an ambitious idea ;-) Nothing came out of it eventually, but the topic came up again much later.