The Parrot Returns

KM on 2001-07-30T22:48:13

Simon writes "An interesting posting by ESR on the python-dev list revisits the notion of a shared bytecode/runtime environment that could be used by both Perl 6 and a future version of Python. The resulting thread includes some interesting discussion of both technical and social issues involved in this effort."


Why Not?

james on 2001-07-31T10:51:30

I see no reason why this shouldn't happen from a theoretical point of view. Having two languages compile down into a common bytecode from the get-go should mean that the ease of which other languages could be made to do so should be far greater than otherwise.

This (a language specific VM) is something I griped about with Java from the start. A common virtual machine for both Perl and Python would be beneficial to both languages, and would result in a far more flexible end product.

Stop it; you're scaring me!

jdavidb on 2001-07-31T17:55:05

Seriously, sounds like a good idea. I presume .NET/mono isn't going to fit the bill for this, or would it? What about DotGNU?

Actually, I am a little scared (or excited) that parrot seems to have actually formally become a topic on use Perl;.

Re:Stop it; you're scaring me!

Elian on 2001-07-31T18:44:00

.NET and the JVM won't fit the bill. Both are designed for statically-typed languages. Layering perl on top of them directly wouldn't take advantage of many of the interpreter's features, instead treating them as a plain CPU, pretty much the same as an X86 or Alpha chip. This is bad for performance reasons, since it means a lot of instructions need to be executed to do some of perl's primitive operations. You can get away with this on hardware since it's so fast, but with software you pay a lot of overhead. The VMs are designed with languages that map well to them in mind. (the .NET initiative is even redesigning languages to fit the VM)

We will ultimately run on .NET and JVM platforms, but probably not as fast as we would on a native Parrot interpreter. (modulo them being significantly more clever than us, which is possible)

Decompiling with Parrot

Zucan on 2001-08-02T20:05:00

So, if somebody writes a Parrot decompiler, I suppose we would have the option of deciding which language the byte-code will converted to. This would lend itself to some great language translators :-) Python2Perl :-)

Re:Why Not?

aim4min on 2001-09-12T15:47:41

If you're already combining 2 languages into a bytecode format, why not choose java bytecodes. That way you can write in perl, and then have it executed by highly optimized interpreters (sun's or ibm's) and have it cross platform. Could it be done?