Slashdot Mirror


Parrot 0.1.1 'Poicephalus' Released

Pan T. Hose writes "The long awaited release of Parrot 0.1.1 "Poicephalus" has been finally announced on perl.perl6.internals newsgroup and perl6-internals mailing list simultaneously by Leopold Toetsch followed by an announcement on use Perl by Will Coleda and now also on Slashdot." (Read on for a list of changes since the last release, as well as a number of useful links.) Pan T. Hose continues "The most important changes since the previous version 0.1.0 (code-named 'Leaping Kakapo' and released in February) are:
  • Python support: Parrot runs 4/7 of the pie-thon test suite
  • Better OS support: more platforms, compilers, OS functions
  • Improved PIR syntax for method calls and <op>= assignment
  • Dynamic loading reworked including a "make install" target
  • MMD - multi method dispatch for binary vtable methods
  • Library improvement and cleanup
  • BigInt, Complex, *Array, Slice, Enumerate, None PMC classes
  • IA64 and hppa JIT support
  • Tons of fixes, improvements, new tests, and documentation updates
The amazing project which no one had any idea would go so far from the original April Fool's Joke by Simon Cozens (also posted on Slashdot on April 1, 2001) to really unite Perl and Python one day (not to mention Tcl, Scheme, Forth and Ruby, to name just a few) is now available for download from CPAN and via CVS. Those who are not up-to-date with Perl 6 mailing lists can read This Week in Perl 6 weekly summaries by Piers Cawley to have some idea on how's the project been going in the last two years. It's important to read Apocalypses, Exegeses and Synopses together with RFCs and Parrot Design Documents for better understanding of the underlying rationale, especially the superiority of register-based Virtual Machines (like Parrot VM) over stack-based one (like JVM) for modern (dynamically-typed) OO languages with multiple inheritance, operator overloading, traits, roles and much, much more. Parrot Docs, FAQ and examples are also very helpful. This is a very important step in the direction of Perl 6 which we are all looking forward to."

6 of 224 comments (clear)

  1. Explanations Please by SomeGuyTyping · · Score: 3, Insightful

    When posting software projects (especially those whose version number 0) please add a quicky bit about the package for the lazy amongs us

    --
    My posts are definitive. Reality is frequently inaccurate.
  2. Re:preview for readability before submit, perhaps? by Amiga+Lover · · Score: 4, Insightful

    I'd like a preview that contains a tiny piece of information on just what Parrot is. I can google it, yeah, but I could also google and get just as much info as any story on slashdot if I just read

    "New version of Parrot released".

    It's reminiscent of badly written man pages, where a command has info like:

    -n, --nfrtrt
    enables use of nfrtrt.

    And says no more. It's just a tiny addition, it would really help, and that's what we have editors for!

  3. A question by Hortensia+Patel · · Score: 2, Insightful

    And no, it's apparently not a FA one.

    Will Parrot, at some hypothetical point in the distant future, be able to decouple languages from libraries in the same way that .NET does? This is IMO the most exciting thing about .NET - once new languages are no longer guillotined in their infancy by the "but there aren't any libraries for it!" hurdle, a veritable renaissance in language design becomes possible, and maybe we can finally crawl out of the backward-compatibility tarpit.

  4. Re:A truly interesting project by Coryoth · · Score: 2, Insightful

    "creeping" indeed. C# is here now, and you can write real apps in it now. Parrot still hasn't gotten out of the gate. It just happened to move a little.

    And 4 years ago the Java people could happily say exactly the same thing about C#. If Parrot offers real advantages (and it does) then when it does arrive it is going to shake things up. Laugh now, but honestly, wait a few years and see if you're still laughing. I'll put rather good odds that if you are it will be very very nervous laughter.

    Jedidiah.

  5. Re:why? by ajs · · Score: 5, Insightful
    The primary reasons for Parrot are:
    • Language neutrality
    • Support for very high level language inter-operation (e.g. you can sub-class a Python object in Perl and call a method on the Perl class that gets invoked fromt he Python class).
    • Deep support for multiple character sets, not just ASCII and Unicode.
    • Perl 6
    The last item might seem odd, but Perl 6 is definitely a language which needed some serious support. It's very ambitious, and a VM that didn't support its needs as completely as Parrot does would have exponentially complicated writing a compiler for it.

    That said, the combination of the two promises to be one of the most powerful development platforms released to date.
  6. Re:WTF is this? by smcdow · · Score: 4, Insightful
    Actually perl goes farther:
    my $a = "5"; # $a is a string

    $a++; # now $a is both a string and a number. "6" and 6, respectively

    my $b = $a + 1; # $b is a number

    $b = "$b"; # now $b is both a string and a number

    # these two statements produce the same output
    printf( "\$b is %s\n", $b );
    printf( "\$b is %d\n", $b );

    Strong typing sucks.

    --
    In the course of every project, it will become necessary to shoot the scientists and begin production.