Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

chromatic (983)

  (email not shown publicly)

Blog Information [] Profile for chr0matic []

Journal of chromatic (983)

Wednesday January 20, 2010
11:37 PM

Announce: Parrot 2.0.0 "Inevitable" Released!

[ #40114 ]

The Beyond and below are like a deep of ocean, and we the creatures that swim in the abyss. We're so far down that the beings on the surface superior though they are can't effectively reach us. Oh, they fish, and they sometimes blight the upper levels with points we don't even understand. But the abyss remains a relatively safe place.

Vernor Vinge, A Fire Upon the Deep

On behalf of the Parrot team, I'm proud to announce Parrot 2.0.0 "Inevitable." Parrot is a virtual machine aimed at running all dynamic languages.

Parrot 2.0.0 is available on Parrot's FTP site, or follow the download instructions. For those who would like to develop on Parrot, or help develop Parrot itself, we recommend using Subversion on our source code repository to get the latest and best Parrot code.

Parrot 2.0.0 News:

  • Features

    • Context PMCs now support attribute-based introspection
    • Context and CallSignature PMCs merged into CallContext
    • .lex directive throws exceptions when used with incorrect register types
  • Platforms

    • Packaging improved for free OS distributions
    • PPC, PPC64, and ARM now tested when running Linux
  • Performance

    • Minor improvements to the profiling runcore
    • Improvements from the CallContext PMC merge
  • New deprecations

    • In/out parameters in STRING modification functions
    • Void handling in NCI signatures
    • Parameter passing opcodes order in PBC
  • Tests

    • Continued migration of core tests from Perl 5 to PIR
  • Tools

    • dependency checker improved
  • Miscellaneous

    • Deprecation cycle length changed to three months from six
    • GC accuracy improved
    • PMC freeze improvements; much more reliable
    • Makefile improvements for dependency handling

Thanks to all our contributors for making this possible, and our sponsors for supporting this project. Our next release is 16 February 2010.


The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • I think that claim should be eliminated from Parrot's description until it is able to run Python.

    You know, the widely used dynamic language that was one of Parrot's two original target languages, which happens to have been ported and runs well on several other platforms, including the JVM and .NET.

    You know, the one which lead to Dan Sugalski getting pie in the face when he couldn't even get the benchmark to run correctly, let alone run faster than the native C platform as promised.

    • I think that claim should be eliminated from Parrot's description until it is able to run Python.

      See the Pynie repository [] and the list of languages running in whole or in part on Parrot [].

      • The fact that a port has been started does not mean it is useful.

        Pynie looks like a recent attempt to start porting a version of Python that is not in widespread use. Pirate would be the attempt to port the version of Python that is actually used widely, and its current status is pretty useless.

        I have respect for Allison, but she isn't done. Therefore I reiterate. Until there are actual, useful ports of the most popular, widely used, and widely ported dynamic languages out there, I think that claiming th

        • I think that claiming that Parrot supports all dynamic languages is false advertising.

          Whoever said that Parrot 2.0 currently runs all dynamic languages in full? Certainly I never did.

          A decade in the claim is an embarrassment.

          Project management is easy if you have a time machine and an army of fungible volunteers.

        • I don't get it ... What's the problem? Parrot is still "aimed at supporting all dynamic languages"--even ones that don't yet exist. Just because there is no viable implementation of a particular language that runs on Parrot now doesn't mean anything in particular.

          • I take it you weren't at Sam Ruby's OSCON talk a few years back where he gave a post mortem on why the Pirate effort failed.

            The fact of failure is one thing. The reasons for that failure are quite another. The historical importance of that failure adds even more weight.

            • The historical importance of that failure adds even more weight.

              Parrot is a very different project than it was in 2004 and 2005.

              • I'm aware of that fact and consider it a generally good thing. But I'll need to see actual success before my opinions about the project change substantially.

                I would recognize success for the platform as a whole if Parrot is the default platform for a widely used language. A relatively objective definition of "widely used" could be that it shows on the TIOBE top 20 list. (Yes, I know all of the problems with that index. Still it is better than nothing.)

                My definition of success for the goals the platform

                • Now your song has changed from "Don't claim you run all dynamic languages!" (demonstrably untrue) to "You're not successful in Tillylandia until you run Python and Ruby as well as the DLR and JVM do, as measured by an unreproducable statistic widely debunked!"

                  You're welcome to have your own goals for the project, but as with every project, the goals a project meets are often the goals of those who contribute in some fashion. If the volunteers doing actual work don't meet your goals, well, I consider that n

                  • You're a great one for setting up straw men so you can knock them down, aren't you?

                    Until Parrot can run at least one of the two original target languages, I consider its stated goal of aiming to support all dynamic languages an embarrassment. At the current point it runs neither, and there are no plans in place that I can see to change that. (Though you recently started a project to try to run the designated successor of one of the two original target languages.)

                    Getting from the point of embarrassment to

                    • And this is why I should always preview. :-(

                    • You're a great one for setting up straw men so you can knock them down, aren't you?

                      No, Ben. You are the one with the bizarre definitions of standard English words such as "run" and "plan":

                      At the current point it runs neither (Perl 6 or Python), and there are no plans in place that I can see to change that.

                      If you want to deny that Lua, Python, Tcl, Ruby, Scheme, Common Lisp, JavaScript, and a handful of other languages indeed exist and run on Parrot and pass tests on Parrot and interoperate on Parrot, t