[prev in list] [next in list] [prev in thread] [next in thread] 

List:       perl6-language
Subject:    r25607 - docs/Perl6/Spec
From:       pugs-commits () feather ! perl6 ! nl
Date:       2009-02-27 7:39:57
Message-ID: 20090227073957.30090.qmail () feather ! perl6 ! nl
[Download RAW message or body]

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;

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic