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.

PAST Optimization

One of the advantages of a common virtual machine for various languages is the ability to apply the same optimizations to all of those languages. For example, LLVM includes optimization passes to propagate constants, eliminate dead arguments, code, and globals, inline functions, and eliminate recursive tail calls, among others. Any language with a compiler to LLVM can easily take advantage of these optimizations without any additional work by the compiler writer.

What is NFG and why you want Parrot to have it.

The Grapheme Normal Form for Unicode (or NFG as we like to call it) has been specified as a feature parrot wants for a long time, it's been in the Parrot Design Document for strings since before I had a commit bit, or any involvement in the project come to that. Something that has gone that long unimplemented can't be that important, right? I mean, we clearly have survived without it. Turns out it is important, but it takes some background to realize why.

Parrot Foundation Announces Accepted Students in Google Summer of Code™ Program

Seattle, WA — April 26, 2010  Parrot Foundation is pleased to announce the acceptance of five student proposals for projects relating to the Parrot Virtual Machine in the 2010 Google Summer of Code program.

parrot-users list created!

The parrot-users mailing list is now available; if you are a language author targeting parrot and have questions or need assistance, please sign up at

You can also follow the group via google at

"Parrot is a virtual machine designed to efficiently compile and
execute bytecode for dynamic languages. This mailing list is for
general users of Parrot and languages running on Parrot."

Straw poll: Which version control system would you like Parrot to use? (Just a straw poll, not a commitment to change anything)

SVN (Current)
30% (8 votes)
0% (0 votes)
70% (19 votes)
0% (0 votes)
0% (0 votes)
Total votes: 27

2009 Members' Meeting Minutes

The Parrot Foundation held its annual members' meeting on August 25th, 2009 at 2pm Pacific time in Seattle, Washington, USA. Jerry Gay presided over the meeting. Allison Randal prepared these minutes.

How to Get Involved

Discussion about Parrot development normally takes place in two places:

  1. The parrot-dev mailing list:

    Subscribe to the list through the web interface, or go to the Google Group for a searchable archive and RSS/Atom feed.

  2. And on IRC in #parrot at

There is documentation in the docs subdirectory of the Parrot source from the latest release.

Syndicate content