On Wed, Jul 12, 2006 at 10:25:43AM -0700, Allison Randal wrote:
> It occurs to me, after thinking about it overnight, that the .loadlib 
> directive shouldn't operate at :immediate time, but at :init time, 
> because it's more common to want a library to load when you run the code 
> than to load only when you compile the code.

Well, there was already one very legitimate usage of compile time
loadlib, which is now using C<.loadlib> for that:

  .loadlib "opcode_lib"

The library is needed immediately in the compiler to be able to
proceed parsing (e.g. to check the amount and types of freshly loaded
opcodes). There was a crude hack that accomplished this, which is now
removed, because it's cleanly covered by C<.loadlib>.

See also t/dynoplibs/*.t

Another usage of compile time C<.loadlib> could be:

  .loadlib "my_pmcs"
  ...
     $P0 = new .MyInt

I.e. some custom PMC loading, w/o defining a HLL language.

There might be other cases, where :init time is early enough, though.

> Allison

leo

Reply via email to