On Tue, Mar 15, 2005 at 02:25:01PM -0600, Rod Adams wrote:
: In Perl 6, all builtin functions belong to a named package. Not all
: functions are guaranteed to be imported into the global package
: C<::*>. In addition, the list of functions imported into C<::*> will be
: subject to change with each release of Perl. Authors wishing to
: "Future Proof" their code should either specifically import the
: functions they will be using, or always refer to the functions by their
: full name.

Hmm, what I said was supposed to be policy for just the development
release of 6.0.0.  However, it's not that far off from the general
case if you add something along the lines of:

    After 6.0.0 comes out, global aliases will not be removed lightly,
    and will never be removed at all without having gone through a
    deprecation cycle of at least a year.  In any event, you can specify
    that you want the interface for a particular version of Perl, and
    that can be emulated by later versions of Perl to the extent that
    security updates allow.

Interestingly, that last sentence means that different modules can
have different views of * space.  But really, that just falls out
of ordinary module versioning, if you can warp your brain around to
thinking of * as an ordinary versioned module.  The long name of *
just happens to include the Perl version number, and could presumably
even include different "authors" if we ever fork Perl.


Reply via email to