Parrot 6.2.0 "Imperial Amazon" Released!

Beside him, Melvin and Lavender and Allen all seemed to feel like marching too.
And Neville softly began to sing the Song of Chaos.

The tune was what a Muggle would have identified as John Williams's Imperial
March, also known as "Darth Vader's Theme"; and the words Harry had added were
easy to remember.

Doom doom doom
Doom doom doom doom doom doom
Doom doom doom
Doom doom doom doom doom doom
DOOM doom _DOOM_
Doom doom doom-doom-doom doom doom
Doom doom-doom-doom doom doom
Doom doom doom, doom doom doom.

By the second line the others had joined in, and soon you could hear
the same soft chant coming from nearby parts of the forest.

And Neville marched alongside his fellow Chaos Legionnaires,
strange feelings stirring in his heart,
imagination becoming reality,
as from his lips poured a fearful song of doom.

     -- Harry Potter and the Methods of Rationality
        http://hpmor.com/                chapter/30

On behalf of the Parrot team, I'm proud to announce Parrot 6.2.0, also known as "Imperial Amazon". Parrot is a virtual machine aimed at running all dynamic languages.

Parrot 6.2.0 is available on Parrot's FTP site, or by following the download instructions. For those who want to hack on Parrot or languages that run on top of Parrot, we recommend our organization page on GitHub, or you can go directly to the official Parrot Git repo on Github To clone the Parrot Git repo into a directory called 'parrot', use the following:

    git clone git://github.com/parrot/parrot.git
If you want it to be in a directory other than 'parrot', then just give that as a second argument to clone:
    git clone git://github.com/parrot/parrot.git parrot_foo

Parrot 6.2.0 News:

    - Core
        + Re-enable old immc flags for parrot and parrot_old, such as
          -On -a -v -y -E -dxx. [GH #1033]
        + Fixed imcc -O1 and -O2
          -O1 fixes:
            = Special-case get_global for branch_cond_loop_swap, which broke
              NCI tests [GH #1037]
            = set_addr label does mark a basic_block, dead_code_remove() needs
              the label. Fixes nqp [GH #1061].
          -O2 used_once fixes:
            = Allow used_once elimination only for purely functional ops
              without side-effects [GH #1036]
            = Empty ins->next in deletion [GH #1042].
          -O2 constant propagation fixes:
            = Empty ins->op ptrs when deleting or skipping certain instruction
              [GH #1039],
            = Wrong logic leading to missed detecting writes from get_results
              [GH #1041],
            = Propagate only matching types in setters [GH #1042],
            = Stop at yield or invokecc for possible push_eh/pop_eh non-local
              effects [GH #1044]
        + Fixed TT #1930, a floating point optimizer problem on PPC
        + Added cache iterators in encoding_find_*cclass [GH #1027]
          to speedup the utf8 pattern "scan a whole string for newlines".
    - Build
        + Set emacs buffer-read-only:t tags in generated files [GH #1034]
        + Provide coda for generated include/*.pasm files [GH #1032]
        + Fix parser for bison 3 [GH #1031]
        + Add support for __builtin_expect LIKELY/UNLIKELY branch optimizations
          in a new auto::expect step. [GH #1047]
    - Deprecations
        + Warn on deprecated usage of append_configure_log()
    - Documentation
        + Updated pod for parrot and tools/build/c2str.pl
    - Tests
        + Added -O1 and -O2 to fulltest
    - Community
        + Parrot has been accepted to Google Summer of Code 2014
        + Got a candidate for "Improve performance of method signatures"

The SHA256 message digests for the downloadable tarballs are:

a4c97e5974cf6e6ee1e34317aafd2d87a3bd63730098a050d4f09802b13da814 parrot-6.2.0.tar.gz
f8b9cd2d558a1517038dc3154343f622ab1fd7b1f1d13f41a5c6dd51425bfe8e parrot-6.2.0.tar.bz2

Thanks to all our contributors for making this possible, and our sponsors for supporting this project. Our next release is 15 Apr 2014.

Enjoy!

tags: