Parrot Virtual Machine

The Parrot Virtual Machine is a runtime engine for use with dynamic programming languages such as Perl, Python, Ruby and PHP. While originally designed for use with version 6 of the Perl programming language, it has expanded to a general-purpose dynamic virtual machine to host multiple high-level languages.

Parrot has been designed, in part, for ease of use by programmers and language designers. A series of tools called the Parrot Compiler Tools (PCT) have been designed that facilitate the creation of new languages for Parrot. These tools aide in creating new dynamic programming languages or implementing old languages on Parrot.

This book is going to introduce the reader to the Parrot Virtual Machine and the Parrot programming environment. We will discuss the creation of programs in the PIR and PASM languages and we will also discuss how to create new languages that compile to the Parrot platform. We will also talk about Parrot itself, and introduce the reader to Parrot's internals, which are released under an open source license and can be modified by able volunteers.

Table of Contents

Introduction To Parrot

Programming For Parrot

Parrot Compiler Tools

Parrot Hacking

Appendices

Tutorials

"Squaak" Language Tutorial

Resources