On 8/25/05, Yuval Kogman <[EMAIL PROTECTED]> wrote: > On Thu, Aug 25, 2005 at 11:16:56 -0000, David Formosa (aka ? the Platypus) > wrote: > > On Wed, 24 Aug 2005 16:13:03 +0300, Yuval Kogman <[EMAIL PROTECTED]> wrote: > > > > [...] > > > > > perl6 creates a new instance of the perl compiler (presumably an > > > object). The compiler will only compile the actual file 'foo.pl', > > > and disregard any 'require', 'use', or 'eval' statements. > > > > use has the potentional to change the way the compiler > > parses the code. So use needs to be regarded. > > Hmm... Good point. > > I don't know how this is dealt with WRT to the "every module is > compiled with it's own compiler" approach perl 6 is supposed to > have.
It's pretty simple, really. If module A "use"s module B, then you go and compile B first. Then, when you get to "use B" in module A, you just call "B::import" at compile time. That is, the modules are compiled separately, but you're allowed to run things from an already compiled module while you are compiling another one. Luke