I'll attempt to answer a couple of the Parrot fears. :-)
"Doug McNutt" <[EMAIL PROTECTED]> wrote:
I fear that Parrot will not come into widespread use until perl 6 is
released.
Parrot might not be ready to come into widespread use until Perl 6 is
released - there's some stuff missing yet. But encouragingly, a number of
people are working on compiling other languages to Parrot. The Ponie
project covers Perl 5, there's quite a lot of work going on with a Tcl
compiler, an Eiffel-like scripting language compiler is being developed and
there's more. Personally, I'm working on translating .NET stuff into Parrot
intermediate code (my thesis, though a good excuse to spend more time doing
stuff on Parrot that's more generally useful).
As a rocket scientist, who started before the first FORTRAN compiler was
released, I like assembly language and the portability of the Parrot
interpreter appeals to me. But perl magic cookies in an assembler? Will
it ever fit into a 68HC11? Can it attract the attention of hardware
manufacturers?
I don't think the goal ever was to get Parrot implemented in hardware. From
what I've heard about Sun's efforts to do this with their JVM, it doesn't
work out too well. Yes, to some degree Parrot is a software CPU, but
virtual machines for high level languages tend to deal with stuff that a
software CPU doesn't. They provide support for much higher level stuff than
hardware does (continuations, co-routines, objects, types). For common HLL
features, making a large number of compilers deal with that kinda stuff
isn't greatly efficient when you can implement it once in the VM.
PMCs are an example of one of the things a HLL VM provides that a software
CPU wouldn't. They're called Parrot Magic Cookies rather than Perl ones;
the point of them is that they support an abstract set of operations that
you could want to perform that are invoked via a v-table mechanism. This
means that you can implement language specific behaviour for operations
while still keeping inter-language operability.
Hope this helps,
Jonathan