Mushy-pea 36 What, you can change this tag?

Hello everyone and welcome to the next episode of Mushy-pea's blog. This entry is about my favourite language (except English of course) Perl. If you're a regular Perl user you might already know this; the developers of Perl 6 are using a prototype version of the Perl 6 interpreter written in Haskell to do various "proof of principle" testing. It's called Pugs (maybe a pun on the Haskell interpreter Hugs). However, the developers' website ( ) states that a parallel project called Parrot is the "final target for the Perl 6 interpreter".

Parrot is written in C and does sound quite cool, as its designed to compile various languages (including Perl 6, Tcl, Javascript, Ruby, Lua, Scheme, Python and PHP) into a common bytecode. It is also a virtual machine that can run this bytecode. Sounds a bit like an open source equivalent to .NET really. Oh, that reminds me, it also has a .NET bytecode translator. Are you impressed yet?

But my question is, why not stick with Haskell as the development language for the production Perl 6 interpreter? I don't have anything against C, except that it seems to be used for building all and sundry. If the developers have found that another language provides a usefull platform for development, why not be diverse and stick with it? I know some might say that C allows the most portable programs to be written, but I think this can be true of various languages if they have good enough libraries bundled with them.