I've just checked in an updated version of docs/pdds/draft/pdd01_overview.pod for review. A few questions/comments:

- The standard parser, bytecode compiler, optimizer, interpreter breakdown has appeared in every overview of Parrot since the dawn of time, but it's awfully vague. I'm redoing this intro in terms of existing systems.

- Is it our goal to make Parrot "independent of C's stdio system"? I don't consider this a high-priority. I do consider it a priority to define an interface that each platform can satisfy, in a way that makes sense for that platform (that way may be C's stdio system, if they so choose).

- "Standalone pieces": to a certain extent we've moved away from the goal of making Parrot a collection of standalone executables (parser, bytecode compiler, optimizer, and interpreter) in favor of the rather large imcc (i.e. the parrot executable). We need to keep this goal in sight. It's true that we have separate C libraries for IMCC's parser, compiler, optimizer, and bytecode interpretation. But they're very much entangled, and it's not clear how successful an attempt to, for example, use the bytecode interpreter without the PIR and PASM parsers would be. (A setup that would be useful for embedded platforms.)

- With the new PIR parser written in PGE, it should be easier to write the PIR->CIL translator mentioned in the LANGUAGE NOTES. (This is not a requirement for the 1.0 release, but might be a fun project.)

- Pass along any suggestions for subsystems to add. I've limited this draft to user-relevant subsystems.

Allison

Reply via email to