Front page | perl.perl6.language |
Postings from February 2009
r25607 - docs/Perl6/Spec
From:
pugs-commits
Date:
February 26, 2009 23:40
Subject:
r25607 - docs/Perl6/Spec
Message ID:
20090227073957.30090.qmail@feather.perl6.nl
Author: lwall
Date: 2009-02-27 08:39:57 +0100 (Fri, 27 Feb 2009)
New Revision: 25607
Modified:
docs/Perl6/Spec/S06-routines.pod
docs/Perl6/Spec/S12-objects.pod
Log:
deprecate "is also" and "is instead" in favor of augment and supersede declarators
Modified: docs/Perl6/Spec/S06-routines.pod
===================================================================
--- docs/Perl6/Spec/S06-routines.pod 2009-02-27 07:03:18 UTC (rev 25606)
+++ docs/Perl6/Spec/S06-routines.pod 2009-02-27 07:39:57 UTC (rev 25607)
@@ -13,9 +13,9 @@
Maintainer: Larry Wall <larry@wall.org>
Date: 21 Mar 2003
- Last Modified: 24 Feb 2009
+ Last Modified: 26 Feb 2009
Number: 6
- Version: 103
+ Version: 104
This document summarizes Apocalypse 6, which covers subroutines and the
@@ -239,7 +239,8 @@
Redefining a stub subroutine does not produce an error, but redefining
an already-defined subroutine does. If you wish to redefine a defined sub,
-you must explicitly use the "C<is instead>" trait.
+you must explicitly use the "C<supersede>" declarator. (The compiler may
+refuse to do this if it has already commited to the previous definition.)
The C<...> is the "yadayadayada" operator, which is executable but returns
a failure. You can also use C<???> to produce a warning, or C<!!!> to
Modified: docs/Perl6/Spec/S12-objects.pod
===================================================================
--- docs/Perl6/Spec/S12-objects.pod 2009-02-27 07:03:18 UTC (rev 25606)
+++ docs/Perl6/Spec/S12-objects.pod 2009-02-27 07:39:57 UTC (rev 25607)
@@ -14,7 +14,7 @@
Date: 27 Oct 2004
Last Modified: 26 Feb 2009
Number: 12
- Version: 70
+ Version: 71
=head1 Overview
@@ -1463,15 +1463,16 @@
you can add more methods to them, though you have to be explicit that
that is what you're doing:
- class Object is also {
+ augment class Object {
method wow () { say "Wow, I'm an object." }
}
Otherwise you'll get a class redefinition error. (Also, to completely
-replace a definition, use "C<is instead>" instead of "C<is also>"...but
-don't do that.)
+replace a definition, use "C<supersede>" instead of "C<augment>"...but
+don't do that, since the compiler may have already committed to
+optimizations based on the old definition.)
-In order to discourage casual misuse of these traits, they are not
+In order to discourage casual misuse of these declarators, they are not
allowed on global classes unless you put a special declaration at the top:
use MONKEY_PATCHING;
-
r25607 - docs/Perl6/Spec
by pugs-commits