The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

The Parrot Bytecode Interpreter

Parrot is a common bytecode format and interpreter for dynamic languages; it is designed to run Perl 6 code efficiently, but is intended to be language-agnostic.

Documentation

The Parrot documentation is spread across the following files:

intro.pod

An introductory article on what Parrot is and how to do some interesting things with it.

overview.pod

An overview of the Parrot architecture and design.

running.pod

Brief descriptions of the different executables constructed and how to run them.

faq.pod

The Parrot FAQ.

core_ops.pod

A description of the core operations in the Parrot assembly language.

parrot_assembly.pod

The master list of Parrot assembly operations; not all of these have been implemented, so you should stick to core_ops when writing your assembly programs.

io_ops.pod

A description of the operations used in Parrot's IO subsystem.

vtables.pod

Describes what PMCs are and how they work.

embed.pod

Describes the embedding subsystem in excruciating detail.

jit.pod

A brief description of Parrot's Just-In-Time compiler.

parrotbyte.pod

The Parrot bytecode format.

packfile-perl.pod, packfile-c.pod

The APIs for accessing packed bytecode files (packfiles) from Perl and C.

strings.pod

A description of the string implementation.

tests.pod

Hints on writing tests for the Parrot interpreter.

Supported Platforms

Parrot compiles and runs on a large number of platforms, including all common ones. The Parrot team is committed to supporting the following combinations as "core platforms": Linux (x86), CygWin, Win32, Tru64, OpenVMS (Alpha), Solaris (Sparc), FreeBSD (x86).

Authors

Parrot is developed and maintained by the members of the perl6-internals@perl.org mailing list.

  • Dan Sugalski (dan@sidhe.org) is the chief architect.

  • Simon Cozens (simon@netthink.co.uk) was the release manager for releases 0.0.1 through 0.0.4.

  • Jeff Goff (drforr@hargray.com) is the current release manager.

Web pages

See

    http://dev.perl.org/
    http://cvs.perl.org/
    http://www.parrotcode.org/

for more information.