phasers INIT

Documentation for phasers INIT assembled from the following types:

language documentation Phasers

From Phasers

(Phasers) phasers INIT

Runs after compilation during main execution, as soon as possible, only runs once. It can have a return value that is provided even in later phases.

When phasers are in different modules, the INIT and END phasers are treated as if declared at use time in the using module. (It is erroneous to depend on this order if the module is used more than once, however, since the phasers are only installed the first time they're noticed.)

Code that is generated at runtime can still fire off CHECK and INIT phasers, though of course those phasers can't do things that would require travel back in time. You need a wormhole for that.

An INIT only runs once for all copies of a cloned closure.