Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'is also' is now called 'augment' #833

Closed
p6rt opened this issue Mar 24, 2009 · 7 comments
Closed

'is also' is now called 'augment' #833

p6rt opened this issue Mar 24, 2009 · 7 comments

Comments

@p6rt
Copy link

p6rt commented Mar 24, 2009

Migrated from rt.perl.org#64170 (status was 'resolved')

Searchable as RT64170$

@p6rt
Copy link
Author

p6rt commented Mar 24, 2009

From @moritz

Spec r25607 changed 'class Foo is also { ... }' to 'augment class Foo {
... }', Rakudo still does it the old way.

Attached patch updates the test suite accordingly.

(I'll also rename a few test files afterwards, but there's no hurry to
do that).

Cheers,
Moritz

@p6rt
Copy link
Author

p6rt commented Mar 24, 2009

From @moritz

0001--t-spec-is-also-on-classes-is-now-spelled-augmen.patch
From bf0923c5faf80518cb7d549e733a70cd405088e8 Mon Sep 17 00:00:00 2001
From: Moritz Lenz <moritz@faui2k3.org>
Date: Tue, 24 Mar 2009 21:12:46 +0100
Subject: [PATCH] [t/spec] 'is also' on classes is now spelled 'augment class...'

---
 spec/S02-lexical-conventions/unicode.t             |    2 +-
 .../unicode-whitespace.t                           |    2 +-
 spec/S02-whitespace_and_comments/unspace.t         |    4 ++--
 spec/S04-statements/for.t                          |    2 +-
 spec/S10-packages/use-with-class.t                 |    2 +-
 spec/S12-attributes/is-also-and-initialization.t   |    4 ++--
 spec/S12-class/extending-arrays.t                  |    6 +++---
 spec/S12-class/is_also_instead.t                   |    6 +++---
 spec/S12-class/open.t                              |   12 ++++++------
 spec/S12-class/open_closed.t                       |    8 ++++----
 spec/S12-methods/chaining.t                        |    2 +-
 spec/integration/rule-in-class-Str.t               |    4 ++--
 12 files changed, 27 insertions(+), 27 deletions(-)

diff --git a/spec/S02-lexical-conventions/unicode.t b/spec/S02-lexical-conventions/unicode.t
index e868524..da146c1 100644
--- a/spec/S02-lexical-conventions/unicode.t
+++ b/spec/S02-lexical-conventions/unicode.t
@@ -88,6 +88,6 @@ is(try { my $दूसरा = 2; sub टोटल ($x) { $x + 2 }; टोटल
 
 # Unicode methods
 {
-    class Str is also { method äöü { self.ucfirst } };
+    augment class Str { method äöü { self.ucfirst } };
     is "pugs".äöü(), "Pugs", "Unicode methods";
 }
diff --git a/spec/S02-whitespace_and_comments/unicode-whitespace.t b/spec/S02-whitespace_and_comments/unicode-whitespace.t
index 6069b3f..ef2fa0a 100644
--- a/spec/S02-whitespace_and_comments/unicode-whitespace.t
+++ b/spec/S02-whitespace_and_comments/unicode-whitespace.t
@@ -125,7 +125,7 @@ my @x = <a b c>; sub y (@z) { @z[1] }; y(@x)
 #Long dot whitespace tests
 #These currently get different results than the above
 
-class Str is also {
+augment class Str {
     method id() { self }
 }
 
diff --git a/spec/S02-whitespace_and_comments/unspace.t b/spec/S02-whitespace_and_comments/unspace.t
index 8ad66e7..29163ff 100644
--- a/spec/S02-whitespace_and_comments/unspace.t
+++ b/spec/S02-whitespace_and_comments/unspace.t
@@ -49,7 +49,7 @@ is( ~@array, "7 8 9", 'unspace with postfix hyperops');
 
 #Test the "unspace" and unspace syntax
 
-class Str is also {
+augment class Str {
     method id($x:) { $x }
 }
 
@@ -191,7 +191,7 @@ is(eval('baz { @^x }, 1, 2, 3'), (1, 2, 3), 'comma immediately following arg blo
 is(eval('baz { @^x } , 1, 2, 3'), (1, 2, 3), 'comma not immediately following arg block');
 is(eval('baz { @^x }\ , 1, 2, 3'), (1, 2, 3), 'unspace then comma following arg block');
 
-class Code is also {
+augment class Code {
     method xyzzy(Code $x: *@y) { $x.(@y) }
 }
 
diff --git a/spec/S04-statements/for.t b/spec/S04-statements/for.t
index 5959fc2..8bf13af 100644
--- a/spec/S04-statements/for.t
+++ b/spec/S04-statements/for.t
@@ -55,7 +55,7 @@ plan 55;
 #?rakudo skip 'class accessing outer lexical'
 {
     my $d = '';
-    class Int is also {
+    augment class Int {
         method some_meth_1 { 
             $d = $d ~ self
         } 
diff --git a/spec/S10-packages/use-with-class.t b/spec/S10-packages/use-with-class.t
index b5e0883..ca22bc0 100644
--- a/spec/S10-packages/use-with-class.t
+++ b/spec/S10-packages/use-with-class.t
@@ -20,7 +20,7 @@ eval_lives_ok 'Stupid::Class.new()', 'can instantiate object of "imported" class
 }
 
 {
-    class Stupid::Class is also {
+    augment class Stupid::Class {
         method double { $.attrib ~ $.attrib };
     }
     my $o = Stupid::Class.new( attrib => 'd' );
diff --git a/spec/S12-attributes/is-also-and-initialization.t b/spec/S12-attributes/is-also-and-initialization.t
index e81d620..ea758b3 100644
--- a/spec/S12-attributes/is-also-and-initialization.t
+++ b/spec/S12-attributes/is-also-and-initialization.t
@@ -14,11 +14,11 @@ diag('Test for class attribute initialization');
 {
 	class T1 { }
 	class T2 { }
-	ok eval(q{class T1 is also { has $.t = 1 }; 1}),
+	ok eval(q{augment class T1 { has $.t = 1 }; 1}),
 		"Try to initialize public attribute";
 
 	ok eval(q{
-		class T2 is also {
+		augment class T2 {
 		    has $!t = 2;
 		    method get { $!t };
 		}; 1 }),
diff --git a/spec/S12-class/extending-arrays.t b/spec/S12-class/extending-arrays.t
index c3474d3..31d3baa 100644
--- a/spec/S12-class/extending-arrays.t
+++ b/spec/S12-class/extending-arrays.t
@@ -4,8 +4,8 @@ use Test;
 
 plan 11;
 
-class Array is also { method test_method  { 1 }; };
-class Hash is also { method test_method  { 1 }; };
+augment class Array { method test_method  { 1 }; };
+augment class Hash { method test_method  { 1 }; };
 
 my @named_array;
 
@@ -48,7 +48,7 @@ my $pair = :key<value>;
 is $pair.value, 'value', "method on a named pair";
 
 {
-    class List is also {
+    augment class List {
         method twice {
             gather {
                 take $_ * 2 for self;
diff --git a/spec/S12-class/is_also_instead.t b/spec/S12-class/is_also_instead.t
index 0e04674..0a7a50a 100644
--- a/spec/S12-class/is_also_instead.t
+++ b/spec/S12-class/is_also_instead.t
@@ -10,15 +10,15 @@ plan 5;
     class Foo {
         method a {'called Foo.a'}
     }
-    class Foo is also {
+    augment class Foo {
         method b {'called Foo.b'}
     }
 
     my $o = Foo.new;
     is($o.a, 'called Foo.a', 'basic method call works');
-    is($o.b, 'called Foo.b', 'added method call works');
+    is($o.b, 'called Foo.b', 'added method call works');
 
-    ok(!eval('class NonExistent is also { }'), 'is also on non-existent class dies');
+    ok(!eval('augment class NonExistent { }'), 'augment on non-existent class dies');
 }
 
 #?rakudo skip 'is instead not yet implemented'
diff --git a/spec/S12-class/open.t b/spec/S12-class/open.t
index e831c92..50e1f0e 100644
--- a/spec/S12-class/open.t
+++ b/spec/S12-class/open.t
@@ -14,9 +14,9 @@ my $x = Something.new(attribute => 'b');
 is $x.in_Something, 'ab', 'basic OO sanity';
 
 # although we use curlies here to be better fudge-able, remeber
-# that 'is also' class extensions are *not* lexically scoped
+# that 'augment' class extensions are *not* lexically scoped
 {
-    class Something is also {
+    augment class Something {
         method later_added {
             'later'
         }
@@ -37,7 +37,7 @@ is $x.in_Something, 'ab', 'basic OO sanity';
 # now try to extend "core" types
 
 {
-    class Str is also {
+    augment class Str {
         method mydouble {
             self.uc ~ self.lc;
         }
@@ -47,14 +47,14 @@ is $x.in_Something, 'ab', 'basic OO sanity';
 }
 
 {
-    class Int is also {
+    augment class Int {
         method triple { self * 3 }
     }
     is 3.triple, 9, 'can extend Int';
 }
 
 {
-    class List is also {
+    augment class List {
         method first-and-last {
             self[0] ~ self[self - 1]
         }
@@ -66,7 +66,7 @@ is $x.in_Something, 'ab', 'basic OO sanity';
 }
 
 {
-    class Array is also {
+    augment class Array {
         method last-and-first {
             self[self - 1] ~ self[0]
         }
diff --git a/spec/S12-class/open_closed.t b/spec/S12-class/open_closed.t
index 5e3d281..a4908d7 100644
--- a/spec/S12-class/open_closed.t
+++ b/spec/S12-class/open_closed.t
@@ -14,12 +14,12 @@ class Foo {
     method a {'called Foo.a'}
 }
 
-eval_dies_ok('class Foo is also {method b {"called Foo.b"}}}', 'adding to closed class dies');
+eval_dies_ok('augment class Foo {method b {"called Foo.b"}}}', 'adding to closed class dies');
 
 class Bar is open {
     method c {'called Bar.c'}
 }
-lives_ok({class Bar is also {method d {'called Bar.d'}}}, 'adding to opened class lives (using "is open")');
+lives_ok({augment class Bar {method d {'called Bar.d'}}}, 'adding to opened class lives (using "is open")');
 
 {
     my $o = Bar.new;
@@ -32,7 +32,7 @@ lives_ok({class Bar is also {method d {'called Bar.d'}}}, 'adding to opened clas
     # this seems weird to me.
     use class :open;
     class Baz {method e {'called Baz.e'}}
-    lives_ok({class Baz is also {method f {'called Baz.f'}}}, 'adding to open class lives (lexically scoped pragma)');
+    lives_ok({augment class Baz {method f {'called Baz.f'}}}, 'adding to open class lives (lexically scoped pragma)');
 
     my $o = Baz.new;
     is($o.e, 'called Baz.e', 'old method is still present');
@@ -43,7 +43,7 @@ lives_ok({class Bar is also {method d {'called Bar.d'}}}, 'adding to opened clas
 # and just when you thought I ran out of generic identifiers
 use class :open<Qux>;
 class Qux {method g {'called Qux.g'}}
-lives_ok({class Qux is also {method h {'called Qux.i'}}}, 'adding to open class lives (global pragma with class name)');
+lives_ok({augment class Qux {method h {'called Qux.i'}}}, 'adding to open class lives (global pragma with class name)');
 {
     my $o = Qux.new;
     is($o.g, 'called Qux.g', 'old is still present');
diff --git a/spec/S12-methods/chaining.t b/spec/S12-methods/chaining.t
index b089628..ce6c815 100644
--- a/spec/S12-methods/chaining.t
+++ b/spec/S12-methods/chaining.t
@@ -63,7 +63,7 @@ eval_dies_ok('$foo->num', 'Perl 5 -> is dead (method call)');
 # L<S12/"Open vs Closed Classes"/"though you have to be explicit">
 #?rakudo skip 'parsing [=>]'
 {
-    class Pair is also {
+    augment class Pair {
         our      method car () { self.key; }
         our Pair method cdr () { self.value; }
     }
diff --git a/spec/integration/rule-in-class-Str.t b/spec/integration/rule-in-class-Str.t
index c537bbd..5b178b9 100644
--- a/spec/integration/rule-in-class-Str.t
+++ b/spec/integration/rule-in-class-Str.t
@@ -22,7 +22,7 @@ class C is Str {
 
 is(C.new.meth1(),"worked",'m:P5/[^a]/ in method in C (is Str)');
 
-class Str is also {
+augment class Str {
     method meth2 () {
         if ("bar" ~~ m:P5/[^a]/) {
             "worked";
@@ -34,7 +34,7 @@ class Str is also {
 
 is(Str.new.meth2(),"worked",'m:P5/[^a]/ in method in Str');
 
-class Str  is also {
+augment class Str  {
     method meth3 () {
         if ("bar" ~~ m:P5/[a]/) {
             "worked";
-- 
1.5.6.5

@p6rt
Copy link
Author

p6rt commented Jul 30, 2009

From @kyleha

On Tue Mar 24 13​:18​:36 2009, moritz wrote​:

Spec r25607 changed 'class Foo is also { ... }' to 'augment class Foo {
... }', Rakudo still does it the old way.

Attached patch updates the test suite accordingly.

This patch appears to be applied. Can this ticket close?

@p6rt
Copy link
Author

p6rt commented Jul 30, 2009

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Jul 30, 2009

From @moritz

Kyle Hasselbacher via RT wrote​:

On Tue Mar 24 13​:18​:36 2009, moritz wrote​:

Spec r25607 changed 'class Foo is also { ... }' to 'augment class Foo {
... }', Rakudo still does it the old way.

Attached patch updates the test suite accordingly.

This patch appears to be applied. Can this ticket close?

The tests have been adopted, but Rakudo still does it the old way, so
let's leave this ticket open until Rakudo catches up.

Cheers,
Moritz

@p6rt
Copy link
Author

p6rt commented Mar 9, 2010

From @moritz

Rakudo ng has done this correctly from the start; now works correctly.

@p6rt
Copy link
Author

p6rt commented Mar 9, 2010

@moritz - Status changed from 'open' to 'resolved'

@p6rt p6rt closed this as completed Mar 9, 2010
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant