# Copyright (C) 2001-2005, Parrot Foundation. # $Id: parrot.pod 37224 2009-03-09 02:41:44Z allison $ =head1 NAME docs/parrot.pod - Parrot =head1 The Parrot Virtual Machine Parrot is a language-agnostic common bytecode format and interpreter for dynamic languages. =head2 Documentation The Parrot documentation is spread across a wide range of files. Good starting points are: =over 4 =item F<intro.pod> An introductory article on what Parrot is and how to do some interesting things with it. =item F<overview.pod> An overview of the Parrot architecture and design. =item F<running.pod> Brief descriptions of the different executables and how to run them. =item F<faq.pod> The Parrot FAQ. =item F<glossary.pod> 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<pdds/> 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<pdd03_calling_conventions.pod> specifies Parrot's inter-routine calling conventions. =item F<ops/> 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<pmc/> 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<dev/> 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<vtables.pod> A brief introduction to the vtable at the heart of all PMCs, and how to implement your own PMC type. =item F<embed.pod> Describes the embedding subsystem in excruciating detail. =item F<jit.pod> A brief description of Parrot's Just-In-Time compiler. =item F<memory_internals.pod> An introduction to the Parrot GC subsystem =item F<parrotbyte.pod> The Parrot bytecode format. =item F<packfile-perl.pod>, F<packfile-c.pod> The APIs for accessing packed bytecode files (packfiles) from Perl and C. =item F<strings.pod> A description of the string implementation. =item F<tests.pod> Hints on writing tests for the Parrot interpreter. =item F<debug.pod> A beginner's guide to debugging the Parrot executable. =item F<debugger.pod> Documentation for C<parrot_debugger>, 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 (x86), OS X (x86 and PPC), Cygwin, Tru64, OpenVMS (Alpha), FreeBSD (x86). =head2 Authors Parrot is developed and maintained by the members of the C<parrot-dev@lists.parrot.org> mailing list. The list is archived at: L<http://groups.google.com/group/parrot-dev/> Many people have contributed their time and expertise to the Parrot project; see the F<CREDITS> file for details. =head2 Web pages See: =over 4 =item * L<http://www.parrot.org/> =item * L<https://trac.parrot.org/> =item * L<https://svn.parrot.org/> =back for more information.