Author: autrijus
Date: Sat Apr 1 10:43:58 2006
New Revision: 8525
Modified:
doc/trunk/design/syn/S11.pod
Log:
* S11: Allow user-defined dynamic exportation with EXPORT
routines, which assume the semantic from Damian's
Perl6::Export::Attrs.
The magical export dispatcher is now EXPORTALL.
Modified: doc/trunk/design/syn/S11.pod
==============================================================================
--- doc/trunk/design/syn/S11.pod (original)
+++ doc/trunk/design/syn/S11.pod Sat Apr 1 10:43:58 2006
@@ -12,9 +12,9 @@
Maintainer: Larry Wall <[EMAIL PROTECTED]>
Date: 27 Oct 2004
- Last Modified: 17 Mar 2006
+ Last Modified: 1 Apr 2006
Number: 11
- Version: 10
+ Version: 11
=head1 Overview
@@ -105,7 +105,18 @@
}
The C<Foo> module will export C<&foo>, C<&bar> and C<&baz> by default;
-calling C<Foo::Bar.import> will import C<&bar> and C<&baz> at runtime.
+calling C<Foo::Bar.EXPORTALL> will export C<&bar> and C<&baz> at runtime
+to the caller's package.
+
+=head1 Dynamic exportation
+
+The default C<EXPORTALL> handles symbol exports by removing recognized
+export items and tagsets from the argument list, then calls the C<EXPORT>
+subroutine in that module (if there is one), passing in the remaining
+arguments.
+
+If the exporting module is actually a class, C<EXPORTALL> will invoke its
+C<EXPORT> method with the class itself as the invocant.
=head1 Compile-time Importation
@@ -155,7 +166,7 @@
at runtime cannot import into the lexical scope:
require Sense;
- Sense.import; # goes to the OUR scope by default, not MY
+ Sense.EXPORTALL; # goes to the OUR scope by default, not MY
=head1 Importing from a pseudo-package