On Thu, Apr 22, 2004 at 10:48:51AM -0400, Aaron Sherman wrote: : 1. Have a feedback loop between Parrot and Perl 6 that allows the : compiler to execute a chunk of bytecode, get the result as a PMC : and store it for future use. This will probably be needed : regardless of which option is chosen, but may not be ideal.
#1 is a requirement for the general case. Of course to the extent that people stick with standard constructs they can be optimized. But Perl 5's BEGIN blocks are just a start. In Perl 6 people can add arbitrary productions into the grammar that execute arbitrary code. They can define their own metaclasses. Traits are applied at compile time by arbitrary bits of code. Macros are applied by executing bits of code you just compiled. And so on. Larry