FAQ
Author: lwall
Date: 2009-09-29 23:05:11 +0200 (Tue, 29 Sep 2009)
New Revision: 28506

Modified:
docs/Perl6/Spec/S06-routines.pod
docs/Perl6/Spec/S11-modules.pod
Log:
[S06,S11] kill infix:<defines>, replace with statement_control:<import>


Modified: docs/Perl6/Spec/S06-routines.pod
===================================================================
--- docs/Perl6/Spec/S06-routines.pod 2009-09-29 19:45:52 UTC (rev 28505)
+++ docs/Perl6/Spec/S06-routines.pod 2009-09-29 21:05:11 UTC (rev 28506)
@@ -289,7 +289,7 @@
you may play aliasing tricks like this:

module B {
- GLOBAL defines <&saith $next_id>;
+ import GLOBAL <&saith $next_id>;
saith($next_id); # Unambiguously the global definitions
}


Modified: docs/Perl6/Spec/S11-modules.pod
===================================================================
--- docs/Perl6/Spec/S11-modules.pod 2009-09-29 19:45:52 UTC (rev 28505)
+++ docs/Perl6/Spec/S11-modules.pod 2009-09-29 21:05:11 UTC (rev 28506)
@@ -154,14 +154,14 @@
in different scopes is likely to lead to confusion.)

The C<use> declaration is actually a composite of two other declarations,
-C<need> and C<defines>. Saying
+C<need> and C<import>. Saying

use Sense <common @horse>;

breaks down into:

need Sense;
- Sense defines <common @horse>;
+ import Sense <common @horse>;

These further break down into:

@@ -232,18 +232,18 @@
multi fact (Int $n) is export { [*] 1..$n }
}
...
- Factorial defines 'fact'; # imports the multi
+ import Factorial 'fact'; # imports the multi

The last declaration is syntactic sugar for:

BEGIN MY.import_alias(Factorial, <fact>);

-Despite having the form of an infix operator, this form functions as
-a compile-time declarator, so that these notations can be combined:
+This form functions as a compile-time declarator, so that these
+notations can be combined by putting a declarator in parentheses:

- role Silly {
+ import (role Silly {
enum Ness is export <Dilly String Putty>;
- } defines <Ness>;
+ }) <Ness>;

This really means:

@@ -254,6 +254,8 @@
<Ness>
);

+Without an import list, C<import> imports the C<:DEFAULT> imports.
+
=head1 Runtime Importation

Importing via C<require> also installs names into the current lexical scope by
@@ -310,8 +312,8 @@
You may also import symbols from the various pseudo-packages listed in S02.
They behave as if all their symbols are in the C<:ALL> export list:

- CONTEXT defines <$IN $OUT $ERR>;
- CALLER defines <$x $y>;
+ import CONTEXT <$IN $OUT $ERR>;
+ import CALLER <$x $y>;

# Same as:
# my ($IN, $OUT, $ERR) ::= ($*IN, $*OUT, $*ERR)
@@ -381,7 +383,7 @@
class Dog:auth<http://www.some.com/~jrandom>:ver<1.2.1>;
class Dog:auth ;

-Since these are somewhat unwieldy to look at, we allow a shorthand in
+Since these are somewhat unweildy to look at, we allow a shorthand in
which a bare subscripty adverb interprets its elements according to their
form:

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupperl6-language @
categoriesperl
postedSep 29, '09 at 9:05p
activeSep 29, '09 at 9:05p
posts1
users1
websiteperl6.org

1 user in discussion

Pugs-commits: 1 post

People

Translate

site design / logo © 2021 Grokbase