# Copyright (C) 2001-2005, The Perl Foundation. # $Id: parrot.pod 18689 2007-05-30 15:58:47Z coke $ =head1 NAME docs/parrot.pod - Parrot =head1 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 also intended to be language-agnostic. =head2 Documentation The Parrot documentation is spread across a wide range of files. Good starting points are: =over 4 =item F An introductory article on what Parrot is and how to do some interesting things with it. =item F An overview of the Parrot architecture and design. =item F Brief descriptions of the different executables and how to run them. =item F The Parrot FAQ. =item F A guide to some of the jargon that crops up repeatedly in Parrot development (and in the documentation...) =back More detailed information on the design and implementation of Parrot can be found in: =over 4 =item F This subdirectory contains all of the current Parrot Design Documents (PDDs). These are intended to be detailed guides to the design of the various Parrot subsystems; for instance, F specifies Parrot's inter-routine calling conventions. =item F This subdirectory contains documentation files that are created from the corresponding opcode files at build time. These files describe what each opcode does and specify what arguments they take. =item F This subdirectory contains documentation on several of the PMC types available to Parrot. Currently only a few of the available PMCs have been documented. (Patches welcome!) =item F This subdirectory contains a number of files discussing various implementation decisions made during the course of the development of Parrot. The intent is to keep discussion of implementation-specific issues separate from the basic design issues discussed in the PDDs. =item F A brief introduction to the vtable at the heart of all PMCs, and how to implement your own PMC type. =item F Describes the embedding subsystem in excruciating detail. =item F A brief description of Parrot's Just-In-Time compiler. =item F An introduction to the Parrot GC subsystem =item F The Parrot bytecode format. =item F, F The APIs for accessing packed bytecode files (packfiles) from Perl and C. =item F A description of the string implementation. =item F Hints on writing tests for the Parrot interpreter. =item F A beginner's guide to debugging the Parrot executable. =item F Documentation for C, the Parrot debugger. =back =head2 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), Win32, OS X (x86 and PPC), Cygwin, Tru64, OpenVMS (Alpha), Solaris (Sparc), FreeBSD (x86). =head2 Authors Parrot is developed and maintained by the members of the C mailing list. The list is archived at: L =over 4 =item * Allison Randal is the chief architect. =item * Chip Salzenberg (C) was the second chief architect. =item * Dan Sugalski (C) was the chief architect for the first I<5 years> of the project. Parrot is largely his brainchild. =item * Leopold Toetsch (C) was the release manager for some time. This position is currently rotated through several members of the project team. =item * Simon Cozens, Jeff Goff and Steve Fink were the release managers for releases 0.0.1 - 0.0.4, 0.0.5 - 0.0.8, and 0.0.9 - 0.0.11 respectively. They have all subsequently recovered. =item * Many, many other people have contributed their time and expertise to the Parrot project; see the F file for details. =back =head2 Web pages See: =over 4 =item * L =item * L =item * L =back for more information.