Parrot is a virtual machine designed to efficiently compile and execute bytecode for dynamic languages. Parrot currently hosts a variety of language implementations in various stages of completion, including Tcl, Javascript, Ruby, Lua, Scheme, PHP, Python, Perl 6, APL, and a .NET bytecode translator. Parrot is not about parrots, though we are rather fond of them for obvious reasons.

Parrot 7.2.0 "Blue-crowned racquet-tail" released!

    This is the bright candlelit room where the life-timers are
    stored—shelf upon shelf of them, squat hourglasses, one for every
    living person, pouring their fine sand from the future into the past.
    The accumulated hiss of the falling grains makes the room roar like
    the sea.

    This is the owner of the room, stalking through it with a preoccupied air.
    His name is Death.

    But not any Death. This is the Death whose particular sphere of
    operations is, well, not a sphere at all, but the Discworld, which is
    flat and rides on the back of four giant elephants who stand on the
    shell of the enormous star turtle Great A’Tuin, and which is bounded by
    a waterfall that cascades endlessly into space.

    Scientists have calculated that the chance of anything so patently
    absurd actually existing are millions to one.

    But magicians have calculated that million-to-one chances crop up nine
    times out of ten.

            -- "Mort", GNU Terry Pratchett

On behalf of the Parrot team, I'm proud to announce Parrot 7.2.0, also known as "Blue-crowned racquet-tail". Parrot is a virtual machine aimed at running all dynamic languages. The blue-crowned racket-tail (Prioniturus discurus) is a parrot found on all the larger islands of the Philippines not starting with "P".

Parrot 7.1.0 "Lilian's Lovebird" released

"Recently, cases of Lilian's lovebird poisoning have intensified although it is not known why poachers are poisoning the birds. Lilian's lovebird researchers assume poachers mean to poison larger mammals and lovebirds fall victims." -

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

Parrot 7.1.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

Parrot 7.1.0 News:

    - Core
        + Fix SIGBUS in GC trace_mem_block on alignment-strict CPUs (arm), #1200.
          We traced all pointers by +1 and not by +4 or +8.
    - Tests
        + Add a common GC stress test to the normal testsuite. #1189
        + Fix tests for --ccflags=-DSTRUCT_DEBUG. #1195
    - Community
        + rakudo perl6 announced to drop parrot support.

Parrot 7.0.2 Hotfix released

We detected and fixed two bugs and regressions from 6.10.0 which failed to build parrot on Microsoft Windows with Microsoft Visual Studio C++.

- Wrong function ptr cast
- Wrong SAL annotations (also 32 bit)

Other minor changes in this hotfix:

GSoC 2014 - Final Report

Hey everyone!

I am extremely happy to announce that I have successfully completed my GSoC project!

I would like to take this opportunity to thank the community for this wonderful learning experience. It has really helped me to add a new dimension to my knowledge while at the same time introducing me to the world of open-source projects.

Most importantly, I would like to thank my mentor Reini Urban (rurban) for the tremendous help he offered me, ever since my first contact with the community. As a matter of fact, without his ideas and invaluable guidance, completing the project would have been an impossible task. I would also like to thank my co-mentor Bruce Gray (Util) for guiding us throughout the project and providing us with valuable inputs to overcome the many hurdles we faced.

In this blog, I will attempt to summarize the work I have completed through my project.

My project's primary objective was to improve the performance of the method signatures. My project was divided into three tasks:-

GSoC 2014 - Report 12

Hey everyone!

This week I ran the bench test on the three tasks to verify the performance gain. But due to my slow machine, I could only generate varied and unreliable data.

However, rurban confirms that all the tests are passing and the branch pcc-gh1083 is ready to be merged for the Parrot release scheduled on 19 August. Also, he soon plans to test it with a 32 bit machine as well.

GSoC 2014 - Report 11

Hey everyone!

I will be sharing what I have completed this week. Last week, I had mentioned that I would be fixing further problems in my branch to optimize pmc2c (
I am happy to share that I have successfully completed this work and believe that the issue GH #1083 ( is now resolved.

To elaborate on the work done --- a couple of weeks back, I started by omitting the obj check in the CallContext ATTR accessors in include/pmc/pmc_callcontext.h.

GSoC 2014 - Report 10

Hey everyone!

This week I completed the part of my task that required me to export the internally needed CallContext vtable methods ( These exported methods are now included in src/call/*.c to improve the performance, since these methods are now being directly called.

In the previous week, I had finished fixing the headers to omit the obj check for CallContext ATTR accessors. But I had made these changes manually by fixing include/pmc/pmc_callcontext.h.

GSoC 2014 - Report 9

Hey everyone!

Through this post, I will be sharing my progress towards the task -

I have completed the part of the task that required me to inline the CallContext ATTR accessors to omit the obj check. For now, I have manually edited include/pmc/pmc_callcontext.h to fix the macro definitions.
However, after completing the remaining task and ascertaining an improvement in speed performance, I plan to improve pmc2c to automatically generate this fix.

GSoC 2014 - Report 8

Hey everyone!

Let me share this week's progress.

Earlier this week, I finished my tests with Parrot for its releases 2.7 - 3.0. Including rurban's profiling, we now have data (reliable to some extent) for the commits in this range. The main objective for the profiling was to determine the highest overhead to be targeted next for refactor.

(For the list of all the identified overheads, please take a look at -

GSoC 2014 - Report 7

Hey everyone!

My this week's work involves testing. With this work, we are trying to figure out the commits that slowed down Parrot during its releases 2.7 - 3.0. To do this, I am running the tool provided in parrot-bench. rurban is helping me out with these tests to save time (since I have got a slow machine) and also to cross-check results.

Syndicate content