This file is part of the Archive

To see what is currently happening visit

What's Parrot

Parrot is a virtual machine used to efficiently execute bytecode for interpreted languages - specifically, Perl 6, although we would like to keep the door open for other languages in the future. As such, Parrot will be the core of the Perl interpreter; it will be the target platform to which Perl 6 code is compiled.

Where are we

Parrot source code was released to the world on Monday 10th of September 2001; since then, an army of developers have furiously been hacking away on it. Currently, we have a virtual machine to execute bytecode, an intermediate and an assembly language, a definition for abstract syntax trees, and compilers that translate these three representations to byte code.

A just-in-time compiler and a garbage collector are implemented.

There's a Perl 6 compiler being worked on, rakudo, which implements variables, control flow statements, operators, classes, roles, objects, multi method dispatch, regexes, grammars, meta operators and junctions. See the status page for a regularly updated list of implemented features.

How to get the code

To download and build Rakudo, follow these instructions.

You can releases and the current source code for parrot from the Parrot download page.

How to get involved

Parrot development takes place on the parrot-dev mailing list.

For more information please visit the developer's section of the official parrot homepage.

For Rakudo, please refer to the Rakudo Developer's Guide.

Buy Parrot Stuff!