The Parrot team is proud to announce the release of Parrot version 0.0.9, code named "Nazgul". It is downloadable from CPAN. If you would like to check the latest copy out from CVS, see the instructions at

Try it out by unpacking it, then running:

perl make make test

If you would like to join in the fun, see perl6-internals. All discussion occurs on the perl6-internals mailing list. Start from for information on all Parroty things.

It's been a while since the last release, so the list of changes is quite long. Here are some of the highlights:

  • Native function calling interface
  • Stack/list aggregate rewrite (faster, more capable)
  • Scratchpads
  • Preliminary DotGNU support -- type conversion ops
  • Buffer/PMC unification
  • stabs debugging support for JIT
  • Jako overhaul
  • Optional Lea memory allocator
  • Parrot sprintf
  • Miniparrot
  • PMC Properties
  • Various JIT improvements (eg platform independence layer)
  • Extensible packfiles
  • Restructured PMC hierarchy
  • Real Scheme (with lambda!)

Parrot currently supports several nontrivial languages, and is adding features at a rapid pace. I would like to encourage everyone interested to check out the Parrot development scene. It's a friendly but focused environment, and we could always use a few more able-minded volunteers. Also, don't think you need to be some Hacker Lord in order to help out -- some of our most valuable contributors barely know C. Assistance is always appreciated in the areas of:

  • documentation
  • testing
  • support tools
  • tinderbox hosting
  • platform-dependent knowledge
  • and, of course, coding

We are in particular need of platform-specific knowledge, seeing as how we have a multiplatform JIT, a garbage collector that needs to scan processor registers (and register windows etc.), dynamic library loading, and direct native function calls.

Check out the mailing list archive or just download the code and try it out!