Larry Wall wrote:

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.



"Add something along the lines of" was interpreted as "clip and paste into 
S29.pod".

I wasn't meaning to imply that bindings would be changed willy-nilly in 
production, but I can see how that could be inferred from what I wrote. My main 
intention was that it *could* change over time.

These whole paragraphs can be reworded later, possibly at the same time we sit 
down and figure out the policy of what gets imported into *:: when.

-- Rod Adams





Reply via email to