* src/pbc_merge.c:
[parrot.git] / docs / parrot.pod
blobb225a0395d18d10c801842767520a5d73f424628
1 # Copyright (C) 2001-2005, The Perl Foundation.
2 # $Id$
4 =head1 NAME
6 docs/parrot.pod - Parrot
8 =head1 The Parrot Bytecode Interpreter
10 Parrot is a common bytecode format and interpreter for dynamic languages; it is
11 designed to run Perl 6 code efficiently, but is also intended to be
12 language-agnostic.
14 =head2 Documentation
16 The Parrot documentation is spread across a wide range of files.  Good starting
17 points are:
19 =over 4
21 =item F<intro.pod>
23 An introductory article on what Parrot is and how to do some interesting things
24 with it.
26 =item F<overview.pod>
28 An overview of the Parrot architecture and design.
30 =item F<running.pod>
32 Brief descriptions of the different executables and how to run them.
34 =item F<faq.pod>
36 The Parrot FAQ.
38 =item F<glossary.pod>
40 A guide to some of the jargon that crops up repeatedly in Parrot development
41 (and in the documentation...)
43 =back
45 More detailed information on the design and implementation of Parrot can be
46 found in:
48 =over 4
50 =item F<pdds/>
52 This subdirectory contains all of the current Parrot Design Documents (PDDs).
53 These are intended to be detailed guides to the design of the various Parrot
54 subsystems; for instance, F<pdd03_calling_conventions.pod> specifies Parrot's
55 inter-routine calling conventions.
57 =item F<ops/>
59 This subdirectory contains documentation files that are created from the
60 corresponding opcode files at build time. These files describe what each opcode
61 does and specify what arguments they take.
63 =item F<pmc/>
65 This subdirectory contains documentation on several of the PMC types available
66 to Parrot. Currently only a few of the available PMCs have been documented.
67 (Patches welcome!)
69 =item F<dev/>
71 This subdirectory contains a number of files discussing various implementation
72 decisions made during the course of the development of Parrot. The intent is to
73 keep discussion of implementation-specific issues separate from the basic
74 design issues discussed in the PDDs.
76 =item F<vtables.pod>
78 A brief introduction to the vtable at the heart of all PMCs, and how to
79 implement your own PMC type.
81 =item F<embed.pod>
83 Describes the embedding subsystem in excruciating detail.
85 =item F<jit.pod>
87 A brief description of Parrot's Just-In-Time compiler.
89 =item F<memory_internals.pod>
91 An introduction to the Parrot GC subsystem
93 =item F<parrotbyte.pod>
95 The Parrot bytecode format.
97 =item F<packfile-perl.pod>, F<packfile-c.pod>
99 The APIs for accessing packed bytecode files (packfiles) from Perl and C.
101 =item F<strings.pod>
103 A description of the string implementation.
105 =item F<tests.pod>
107 Hints on writing tests for the Parrot interpreter.
109 =item F<debug.pod>
111 A beginner's guide to debugging the Parrot executable.
113 =item F<debugger.pod>
115 Documentation for C<parrot_debugger>, the Parrot debugger.
117 =back
119 =head2 Supported Platforms
121 Parrot compiles and runs on a large number of platforms, including all common
122 ones. The Parrot team is committed to supporting the following combinations as
123 "core platforms": Linux (x86), Win32, OS X (x86 and PPC), Cygwin, Tru64,
124 OpenVMS (Alpha), Solaris (Sparc), FreeBSD (x86).
126 =head2 Authors
128 Parrot is developed and maintained by the members of the
129 C<parrot-porters@perl.org> mailing list. The list is archived at:
130 L<http://nntp.perl.org/group/perl.perl6.internals>
132 =over 4
134 =item * Allison Randal is the chief architect.
136 =item * Chip Salzenberg (C<chip@pobox.com>) was the second chief architect.
138 =item * Dan Sugalski (C<dan@sidhe.org>) was the chief architect for the first
139 I<5 years> of the project.  Parrot is largely his brainchild.
141 =item * Leopold Toetsch (C<lt@toetsch.at>) was the release manager for some
142 time. This position is currently rotated through several members of the
143 project team.
145 =item * Simon Cozens, Jeff Goff and Steve Fink were the release managers 
146 for releases 0.0.1 - 0.0.4, 0.0.5 - 0.0.8, and 0.0.9 - 0.0.11 respectively.
147 They have all subsequently recovered.
149 =item * Many, many other people have contributed their time and expertise
150 to the Parrot project; see the F<CREDITS> file for details.
152 =back
154 =head2 Web pages
156 See:
158 =over 4
160 =item * L<http://www.parrotcode.org/>
162 =item * L<http://dev.perl.org/>
164 =item * L<http://svn.perl.org/>
166 =back
168 for more information.