I've had this list lying around for too long, but never seem to find time to make it all shiny and complete.

I want to have another go at the html documentation. But before I start I'd prefer to have a good list of everything Parrot. That way I can build a proper subject view of the project.

It would be nice if people just email me what I've missed. I'm hoping if folk just state what's obvious to them I'll get good coverage.

I've put it on the wiki as well, so if you prefer to edit that, fine by me.

        http://www.vendian.org/parrot/wiki/bin/view.cgi/Main/EverythingParrot

=head1 Subsystems and Resources

=head2 Memory Allocation

Resource pools

=head2 Registers and Stacks

Register sets
Frame stacks
Int stack
User stack
Pad stack
Control stack
Regex stack

=head2 PMC

Internal structure (PObj, Buffer, PMC_EXT)
Vtables
PMC hierarchy and (multiple) inheritance
Abstract PMCs
Dynamic PMCs
Serialization (Freeze/Thaw and Dumper library)
Constant PMCs
PMC template creation
Loading and initialization sequence
Descriptions of individual PMC types (probably discussed under separate subjects)
How to create a specific type of PMC using Parrot Extensions interface
Assignment in PASM/PIR
C macros
Null PMC
Layering
Morphing
Properties


=head2 Interpreter

[...]

=head2 Exec

[...]

=head2 Debugging

[...]

=head2 Big Number Arithmetic

Decimal Arithmetic

=head2 Namespaces

Separators

=head2 Dead Object Detection (DOD) and Garbage Collection (GC)

Mark and sweep (?)
Timely destruction (?)
ARENA_DOD_FLAGS

=head2 Copy on write (COW)

[...]

=head2 Parrot Operations (Ops)

Call and return conventions
Variable length parameter lists
Opcode numbering

=head2 Subroutines

Closures
Coroutines
Continuations

=head2 Multi-Method Dispatch

Rules for method resolution

=head2 Objects

Classes and metaclasses

=head2 Keys

Keyed access

=head2 Threads

Thread safety

=head2 IMCC and PIR

[...]

=head2 PASM

[...]

=head2 Events

[...]

=head2 Parrot Strings

Unicode
ICU

=head2 Native Call Interface (NCI)

[...]

=head2 Just-in-time compilation (JIT)

[...]

=head2 Exceptions

[...]

=head2 Miniparrot

[...]

=head2 Extensions Interface

[...]

=head2 Embedding Interface

[...]

=head2 Bytecode

Packfile format
Metadata

=head2 IO

Asynchronous IO
stat

=head2 Lexical Scope and Scratchpads

[...]

=head2 Regular Expressions

=head2 Libraries

SDL
ncurses
Postgres
PCRE
Dynamic opcode libraries
Includes

=head2 Configuration

Configure.pl
Initialization
User Dialogues
System Tests
File Creation

=head2 Building and Installing

make

=head2 Editor plugins

Emacs
VIM
Kate

=head1 Subjects orthogonal to subsystems

=head2 Platform Specifics

PLATFORMS
cygwin
mingw

=head2 Tests

Writing tests
Parrot::Test
make arguments

=head2 Benchmarks and Optimization

[...]

=head2 Examples

[...]

=head2 C source code

Coding standards
typedefs
Macros

=head2 Perl source code

CPAN Modules

=head2 Documentation

Uppercase named text files
POD
General Documentation
Specific Documentation
Development Documentation
PMC Documentation
Perl Design Documents (PDD)
Parrot::Docs modules

=head1 Things outside the distribution

=head2 CVS

Parrot source code repository access
CVS Monitor

=head2 Related projects

Ponie
Pirate
mod_parrot
YAL
OpenComal
Russian documentation
Perl 6 regular expressions
Parrot on Windows (POW)

=head2 Resources

Perl6 internals mailing list and its weekly summary
Tinderboxes
Perl6 Essentials (O'Reilly)

=head1 Languages which target Parrot

=head2 How to target Parrot

[...]

=head2 Languages in the Parrot distribution

Perl6
Jako
BASIC
Regex
TCL
Cola
Scheme
URM
Ruby
miniperl
Befunge
BF
Ook!
PLOT
Python
Forth
PASM



Reply via email to