Slashdot Mirror


Parrot 0.0.7 Out (and some docs)

BorrisYeltsin writes "Big news in the Perl community this week is that Parrot 0.0.7 now out. New in this release is "Perl 6 grammar (with small, partial compiler), functional subroutine, coroutine and continuation PMCs, global variables, an intermediate code compiler (imcc), a pure-Perl assembler and working garbage collection." Also there are more Parrot docs! Check out the news here."

2 of 18 comments (clear)

  1. Re:Parrot a cross between Perl and Python by LunaticLeo · · Score: 4, Informative
    Yes Parrot was a April fools joke.

    However, then it was chosen as the name for the Perl6 Virtual Machine. The name Parrot was chosen because the programmers envisoned that the VM, which is designed for dynamic languages, could be used by both Python and Ruby. And Parrot was the name of a fictional project to do just that, hence make the fiction into reality. Nice joke on a joke.

    BTW, people keep asking "Why make Yet Another VM?". The answer is that this "Virtual Machine" is a high level VM. For instance, something like regular expression operations might be a single assembly op in this VM. Or dispatching a method on an object might be a single op. Parrot is not a Virtual CPU, it is a synthesis of the highest level of operations that can be distilled from several dynamic languages.

    From the little I have seen on the perl6-internals mailing list, Parrot looks like it will be faster and smaller than the current Perl5 runtime. Further, It looks like the Ruby folk are more interested in cooperating than the Python folk. But in my mind it would be amazing if Python, Perl6, Ruby, and some Lisp variations all had Parrot backends.

    --
    -- I am not a fanatic, I am a true believer.
  2. Re:Parrot a cross between Perl and Python by LunaticLeo · · Score: 5, Informative
    We need a truly open cross-language VM. Mono would be OK,

    According to stuff I saw on perl6-internals, both the Mono and Java Virtual Machines would be to low-level for Parrot. Both of those VMs are pretty close to the metal. My read of this is that MVM and JVM are really largely virtual CPUs. Where Parrot is a simplification of Perl op codes and generalization to allow other dynamic languages target their op-code generation to Parrot assembly (aka op-codes).

    From what I gather, sharing parrot-compiled libraries accros languages is a stated goal of Parrot.

    --
    -- I am not a fanatic, I am a true believer.