Parrot in the Wild
Parrot 0.2.2 has been released! Parrot is a versatile virtual machine for dynamic languages. Though originally designed for Perl 6, it's power and flexibility have generated a lot of interest in the language development community. Parrot is distributed with a number of sample compiler implementations at varying stages of completion, including partial compilers for common languages like lisp, scheme, tcl and python.
The latest release features grammar and rule support in PGE, the Parrot Grammar Engine. Parrot also comes with utilties that convert PIR (Parrot Intermediate Representation) and PASM (Parrot Assembly) into PBC (Parrot bytecode). Those who are interested in learning how to implement languages for Parrot should start with the documentation. You may also be interested in my own (extremely weak) attempt at implementing PIR generators in Haskell and Ocaml.
I posted a blurb about it at LTU and got pretty decent response. A Pugs developer contacted me and invited me to contribute to his project. Pugs is a compiler that converts Perl 6 code into PIL and PIR. Apparently, the Pirate (Python-on-Parrot) people have a Google SOC participant working on a universal, generic AST layer, potentially with an S-Expression syntax. The Pirate and Pugs developers are now collaborating, with the intention of using a unified AST layer.
Tags: parrot, programming
Posted on 2005-07-090 comments
