Parrot Foundation advisory board joined by BBC, ActiveState

The BBC and ActiveState have become the first two members of the Parrot …

Parrot is an open source register-based virtual machine that is designed to support dynamic programming languages. It was originally developed to serve as the foundation of Perl 6, but the scope of the project has expanded and now it aims to provide a universal runtime for dynamic programming languages. It could eventually enable unprecedented interoperability between popular languages such as Perl, Python, and Ruby.

The Parrot Foundation (PaFo) was established back in June to facilitate copyright assignment, handle outreach efforts, and provide other centralized infrastructure for the project. The foundation recently got a big boost from some new corporate members. ActiveState and the BBC have both joined as the first members of the Parrot Foundation advisory board and are contributing $5,000 per year to help fund ongoing Parrot development and other foundation activities.

Although the Parrot project has significant potential and could bring a lot of value to the dynamic programming language community, it has been slow to gain traction and visibility. The BBC's interest in Parrot is a pretty clear indication that the project has relevance for any organization that has a mixed development environment. A universal virtual machine would increase the potential for code reuse and end some of the fragmentation and redundancy that afflicts dynamic language development.

"Like most enterprises, the BBC uses many different dynamic programming languages and environments," BBC chief technical architect Dirk-Willem van Gulik said in a statement. "We're anticipating that well tested, high quality language-neutral virtual machines will play an important role in the future."

The Parrot project generally pushes out one release every month. The latest release, version 0.8.0, included improved support for multi-method dispatches, exceptions, and nested namespaces. A broad number of languages are already partially supported on top of Parrot, including Python, Ruby, Perl, Scheme, Lua, Tcl, LOLCode, and many others. There are also ongoing projects to dynamically translate .NET bytecode to run on Parrot.

Parrot isn't yet ready for use in production environments, but you might want to check it out if you are a dynamic programming enthusiast. It's also a great playground for language designers and developers who are interested in building their own domain-specific languages. You can get more information at the project's web site, particularly the developer section.