From 07c423e825648322490bcea68e0deba1c2ad6a6b Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 13 Aug 2019 22:01:13 +0200 Subject: [PATCH 01/82] Initial version of the name change PR Please note, this is only the initial version of the PR, intended for internal discussion / augmentation before being turned into a real ("draft") PR, for wider discussion / voting. --- PATH-TO-RAKU.md | 147 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 PATH-TO-RAKU.md diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md new file mode 100644 index 0000000..7c8f625 --- /dev/null +++ b/PATH-TO-RAKU.md @@ -0,0 +1,147 @@ +# The Path to Raku + +This document describes the steps to be taken to effectuate a rename of +`Perl 6` to `Raku`, as described in issue #81. It does not pretend to be +complete in scope or in time. To change a name of a project that has been +running for 19+ years will take time, a lot of effort and a lot of +cooperation. It will affect people in foreseen and unforeseen ways. + +The "Velvet Divorce" could serve as a model on how to treat this. + +## Language changes + +The `.perl` method should be deprecated in 6.e, and removed in 6.f/g. It +should be replaced by a `.code` method. This could be implemented by a +global search/replace of `.perl` to `.code` (both in method names and in +calls) in `src/core`, `src/Perl6` and `lib`. A new `Mu.perl` method should +issue a DEPRECATED message, and then call `Mu.code`. + +## Documentation changes + +Wherever `Perl 6` is mentioned in the documentation, this should be changed +to `Raku`. A mention of `Perl 6` in the glossary should remain, and maybe +in the documentation of the `.perl` (to be renamed to `.code`) method. + +## Website changes + +Websites that have `perl6` in their name, should redirect to their +equivalent with a 301 (Moved Permanently). Some way should be devised that +if someone is redirected, that a small explanation of the name change is +offered and that the visitor is indeed at the place they were planning to +be. + +## External references + +Many places on the Internet refer to `Perl 6`, e.g. Wikipedia. These +references will need to be changed to `Raku`, with a small explanation of +the name change. + +Many sites, such as Reddit and StackOverflow, use implicit / explicit `perl6` +tags. These will need to be changed or have a `raku` tag added, possibly +with cooperation of the administrators. + +Sites such as PerlMonks appear to be really `Perl 5` focused, and could +possible make that clear in their description, or change their description +to specifically include `Raku`. It would look like the `/r/perl` Reddit +description can be changed to indicate that only `Perl 5` questions are +on topic there. + +## Technical changes + +All technical changes should make sure that all existing scripts continue +to work without change in the foreseeable future (with optional DEPRECATED +messages where appropriate). + +### Executables + +As some packagers have already done, the executable should be called `raku`. +With symlinks / hard links added as appropriate to keep the old executable +names working. If at all technically possible, running a script using the +`perl6` as the executor, should provide a DEPRECATED warning at some point. + +### Extensions + +The extension `.rk` for scripts, and `.rkm` for modules, will become the +defacto standards for files containing `Raku` code. The old `.pm` and +`.pm6` extensions will continue to be supported for 6.e. In 6.f, the +`.pm` and `.pm6` extensions should be marked as DEPRECATED, causing a message +to be generated when the module is loaded. + +On Windows some more trickery may be involved to mark a script with the +`.rk` extension as executable. + +### Testing + +Roast continues to be the specification of the language. Only the name +of the language it specifies, changes. Internal references to `Perl 6` +will need to be changed. + +## Mascot + +Camelia will remain the mascot. So the only thing that should change there +is that it is the mascot of `Raku` rather than `Perl 6`. + +## Marketing changes + +Renaming `Perl 6` to `Raku` is an event that should be used to get maximum +marketing result. This will need a new marketing repo, with `Raku` marketing +materials. Announcement should be coordinated, e.g. by a blog post on +`opensource.com` or similar outlets, followed up by links on the various +social media outlets, such as Twitter, Facebook, Hacker News, Reddit, etc. + +## Ecosystem changes + +From the standpoint of users, there should not be any change: `zef` should +continue to do what it does. The information about what is in the ecosystem, +is not related to the "perl 6" name at the moment, so does not need any +change either. + +On PAUSE, Perl 6 distributions are automatically uploaded to a "Perl6" +subdirectory, but this is completely transparent to both the author as well +as anything else that needs to look at that. So for the foreseeable future, +no changes will be needed there. + +Should PAUSE decide to no longer support `Raku` modules in its system, then +alternatives will need to be found and/or implemented. + +## Effects on modules in ecosystem + +Many modules either mention "perl6-" in their repo name, or mention "Perl 6" +in their documentation. These will have to be scanned and Pull Requests +will need to be made for them. + +## Effects on running sub-projects + +Projects, such as Comma and Cro do not need any notifications, but other +sub-projects may need to get advance notice. + +## Effects on the Perl community + +There is a (small) part of the Perl community that welcomes Perl 6 leaving +that community. But in general, it appears that Perl community members would +like to have channels open between members that only do `Perl 5`, and members +that only do `Raku`. + +## Effects on user groups + +Each Perl user group (Perl Monger group) will have to decide for themselves +what they want to do with this new situation. More active groups in the +past years, have started using the services of online meeting organizers +such as MeetUp. To indicate the changed situation, it may be a good idea +to change the names of such groups, e.g. from "Foo Perl Mongers Meeting" to +"Foo Perl Family Meetup" or "Foo Perl Community Meetup". Should a user +group decide to only focus on `Perl 5` or `Raku` only, then they are of +course open to not change their name, or to change it to something like +"Foo Raku Meetup". This could coincide with the official announcement, +and maybe special events to celebrate the name change. + +## Relationship with The Perl Foundation + +No changes should be necessary with regards to the relationship with The +Perl Foundation. But this is mostly up to The Perl Foundation. A suggestion +would be to make the website of The Perl Foundation more general: a Perl +Family. With equal attention for Perl, Raku, RPerl and CPerl, and emphasis +on continued development on all projects. + +Should The Perl Foundation decide to not want to have anything to do with +`Raku`, only then should an alternate organisational support be discussed. From 6b444bd89669f447743ac88038b27bda1fdd5372 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 10:23:00 +0200 Subject: [PATCH 02/82] Remove mention of "Velvet Divorce" --- PATH-TO-RAKU.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index 7c8f625..ddc486e 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -6,8 +6,6 @@ complete in scope or in time. To change a name of a project that has been running for 19+ years will take time, a lot of effort and a lot of cooperation. It will affect people in foreseen and unforeseen ways. -The "Velvet Divorce" could serve as a model on how to treat this. - ## Language changes The `.perl` method should be deprecated in 6.e, and removed in 6.f/g. It From 0b5402e1de8801a7dcb6f9d229292bb1ff5a03b5 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 12:36:37 +0200 Subject: [PATCH 03/82] The P and 6 in Camelia are not an issue, but a tribute --- PATH-TO-RAKU.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index ddc486e..cfdf6de 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -77,7 +77,9 @@ will need to be changed. ## Mascot Camelia will remain the mascot. So the only thing that should change there -is that it is the mascot of `Raku` rather than `Perl 6`. +is that it is the mascot of `Raku` rather than `Perl 6`. The fact that the +wings contain a "P" and a "6" is obscure enough to not be an issue, and could +be seen as a lasting tribute (easter egg) to the origin of "Raku". ## Marketing changes From d71dc5cf609755c02acb498edbb3cbab4710ca95 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 12:38:30 +0200 Subject: [PATCH 04/82] s/.code/.raku/ As some classes already have a .code method, and this would be a collision. --- PATH-TO-RAKU.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index cfdf6de..630606c 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -9,16 +9,16 @@ cooperation. It will affect people in foreseen and unforeseen ways. ## Language changes The `.perl` method should be deprecated in 6.e, and removed in 6.f/g. It -should be replaced by a `.code` method. This could be implemented by a -global search/replace of `.perl` to `.code` (both in method names and in +should be replaced by a `.raku` method. This could be implemented by a +global search/replace of `.perl` to `.raku` (both in method names and in calls) in `src/core`, `src/Perl6` and `lib`. A new `Mu.perl` method should -issue a DEPRECATED message, and then call `Mu.code`. +issue a DEPRECATED message, and then call `Mu.raku`. ## Documentation changes Wherever `Perl 6` is mentioned in the documentation, this should be changed to `Raku`. A mention of `Perl 6` in the glossary should remain, and maybe -in the documentation of the `.perl` (to be renamed to `.code`) method. +in the documentation of the `.perl` (to be renamed to `.raku`) method. ## Website changes From bf7ab7839b612ffaeae830b264d69e0c50faf986 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 12:48:06 +0200 Subject: [PATCH 05/82] Mention what to do with IRC channels --- PATH-TO-RAKU.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index 630606c..e2f6cc3 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -28,6 +28,14 @@ if someone is redirected, that a small explanation of the name change is offered and that the visitor is indeed at the place they were planning to be. +## IRC Channels + +The IRC channels used by Perl 6 users on freenode (#perl6\*) will need to +be renamed or closed / opened with the new name (#raku\*). Colabti.org will +need to be asked to log these channels, so that we can have backlog again. +Further down the road, it would probably be a wise idea to make IRC channel +logging one of the infrastructure tasks. + ## External references Many places on the Internet refer to `Perl 6`, e.g. Wikipedia. These From e5c5d4293000325218498565226d18c572ead4d7 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 12:49:30 +0200 Subject: [PATCH 06/82] Mention channel forwarding --- PATH-TO-RAKU.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index e2f6cc3..e238a91 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -31,10 +31,12 @@ be. ## IRC Channels The IRC channels used by Perl 6 users on freenode (#perl6\*) will need to -be renamed or closed / opened with the new name (#raku\*). Colabti.org will -need to be asked to log these channels, so that we can have backlog again. -Further down the road, it would probably be a wise idea to make IRC channel -logging one of the infrastructure tasks. +be renamed or closed / opened with the new name (#raku\*). New joins should +be forwarded to the new channels. + +Colabti.org will need to be asked to log these channels, so that we can have +backlog again. Further down the road, it would probably be a wise idea to +make IRC channel logging one of the infrastructure tasks. ## External references From 7d0aab8eed9283c2e219178c8111b2c71c11004e Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 12:51:44 +0200 Subject: [PATCH 07/82] "rakudo" should be the main executable --- PATH-TO-RAKU.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index e238a91..c05e21e 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -67,6 +67,10 @@ With symlinks / hard links added as appropriate to keep the old executable names working. If at all technically possible, running a script using the `perl6` as the executor, should provide a DEPRECATED warning at some point. +Since `rakudo` is the name of the implementation, the main executable that +is created in the build process should have that name. `raku` and `perl6` +should be symlinks. + ### Extensions The extension `.rk` for scripts, and `.rkm` for modules, will become the From a79dde05a309c75732e083a32bdc3a151c8ec754 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 12:57:46 +0200 Subject: [PATCH 08/82] .pod6 to become .rd --- PATH-TO-RAKU.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index c05e21e..3815051 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -73,11 +73,12 @@ should be symlinks. ### Extensions -The extension `.rk` for scripts, and `.rkm` for modules, will become the -defacto standards for files containing `Raku` code. The old `.pm` and -`.pm6` extensions will continue to be supported for 6.e. In 6.f, the -`.pm` and `.pm6` extensions should be marked as DEPRECATED, causing a message -to be generated when the module is loaded. +The extension `.rk` for scripts, `.rkm` for modules, and `.rd` for +documentation (POD6) will become the defacto standards for files containing +`Raku` code or documentation. The old `.pm`, `.pm6` and `.pod6` extensions +will continue to be supported for 6.e. In 6.f, the `.pm`, `.pm6` and `.pod6` +extensions should be marked as DEPRECATED, causing a message to be generated +when the module is loaded. On Windows some more trickery may be involved to mark a script with the `.rk` extension as executable. From 1ee09085fcd4fc548b6109a6589fd9205e42c08c Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 13:08:48 +0200 Subject: [PATCH 09/82] Special attention to non-latin script countries Specifically for the announcement of Raku --- PATH-TO-RAKU.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index 3815051..43c408b 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -104,6 +104,11 @@ materials. Announcement should be coordinated, e.g. by a blog post on `opensource.com` or similar outlets, followed up by links on the various social media outlets, such as Twitter, Facebook, Hacker News, Reddit, etc. +Specific attention should be given for the announcement of Raku in non-latin +script countries, such as India, Japan, China, Taiwan. Raku with its more +than excellent Unicode support, should be able to make a big splash for +developers in those regions. + ## Ecosystem changes From the standpoint of users, there should not be any change: `zef` should From 66daa4f1a675863118612263fd008fcc335bb7c4 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 13:26:21 +0200 Subject: [PATCH 10/82] Open the door for .code --- PATH-TO-RAKU.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index 43c408b..728a6ca 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -14,6 +14,11 @@ global search/replace of `.perl` to `.raku` (both in method names and in calls) in `src/core`, `src/Perl6` and `lib`. A new `Mu.perl` method should issue a DEPRECATED message, and then call `Mu.raku`. +Renaming to `\.code` currently clashes with `CallFrame.code`, and visually +clashes with the `\.codes` method. Renaming `CallFrame.code` to +`CallFrame.codeobj` and `\.codes` to `\.codepoints` appears to be an option +to be discussed further. + ## Documentation changes Wherever `Perl 6` is mentioned in the documentation, this should be changed From 8d86f071c93e35f6fbf713addcd375dee6ed80c8 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 13:55:47 +0200 Subject: [PATCH 11/82] Mention versioning --- PATH-TO-RAKU.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index 728a6ca..461af9d 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -8,6 +8,8 @@ cooperation. It will affect people in foreseen and unforeseen ways. ## Language changes +## .perl + The `.perl` method should be deprecated in 6.e, and removed in 6.f/g. It should be replaced by a `.raku` method. This could be implemented by a global search/replace of `.perl` to `.raku` (both in method names and in @@ -19,6 +21,25 @@ clashes with the `\.codes` method. Renaming `CallFrame.code` to `CallFrame.codeobj` and `\.codes` to `\.codepoints` appears to be an option to be discussed further. +## Versioning + +The approach for using letters to indicate language versions will be continued +but without the mention of `6`. And uppercase letters will be used, because +mentioning `Raku D` looks much better then mentioning `Raku d`. + +The `use` statement is historically used to indicate the version of the +compilation unit. Since direct code compatibility with Perl 5 is no longer +on the horizon, it seems like a good opportunity to remove any ambiguity +from the `use` statement by moving that functionality to the `unit` statement. + + unit :ver; # same as "use v6.d;" + unit :lang:ver<30>; # if we have direct support for Perl 5.30 + +Also, this would allow to specify compiler versions as well, although that +might be a compiler specific feature: + + unit :release<2019.07>; # release 2019.07 or higher + ## Documentation changes Wherever `Perl 6` is mentioned in the documentation, this should be changed From 3c0fee64d1d45704237e5fa5a18590dc69bfe226 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 13:58:47 +0200 Subject: [PATCH 12/82] Compilers are free to handle optional nameds in 'unit' --- PATH-TO-RAKU.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index 461af9d..1f92c58 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -40,6 +40,9 @@ might be a compiler specific feature: unit :release<2019.07>; # release 2019.07 or higher +Compilers would be free to either ignore additional named parameters, or +warn about named parameters they do not understand. + ## Documentation changes Wherever `Perl 6` is mentioned in the documentation, this should be changed From 7188f3974fa4b83a713c00faf81a39c988d6c001 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 14:19:01 +0200 Subject: [PATCH 13/82] Handwave about support for other languages as a compunit --- PATH-TO-RAKU.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index 1f92c58..74d394d 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -35,6 +35,11 @@ from the `use` statement by moving that functionality to the `unit` statement. unit :ver; # same as "use v6.d;" unit :lang:ver<30>; # if we have direct support for Perl 5.30 +Some kind of API should be conceived to actually hand the rest of the code +of the compilation unit to another interpreter, so that the above :lang +case could possibly be handled by `Inline::Perl5`. And allow support for +other languages, e.g. `:lang` to be handed over to `Inline::Python`. + Also, this would allow to specify compiler versions as well, although that might be a compiler specific feature: From 1c2ece95903a3f5d000d98416ddee472571134ce Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 14:32:23 +0200 Subject: [PATCH 14/82] Mention effects on event naming --- PATH-TO-RAKU.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index 74d394d..8da09fe 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -189,6 +189,24 @@ course open to not change their name, or to change it to something like "Foo Raku Meetup". This could coincide with the official announcement, and maybe special events to celebrate the name change. +## Effects on events + +Event organizers as always, are completely free in the naming of their events. +If an event would like to cater for both `Perl` and `Raku` attendees, then +this should be reflected in the name of the event. An event with just `Raku` +in its name, would appear to cater only for attendees interested in `Raku`. +An event with just `Perl` in its name, would appear to cater for attendees +interested in `Perl 5` only. Suggestions for naming events are (where "Foo" +is a place / country name): + + The Foo Perl Community Workshop + The Foo Perl Family Workshop + The Foo Perl and Friends Workshop + The Foo Perl and Raku Conference + The Foo Raku and Friends Workshop + +etc. etc. + ## Relationship with The Perl Foundation No changes should be necessary with regards to the relationship with The From e4461ed9f23e0cfc2f107cf078cb090541852b39 Mon Sep 17 00:00:00 2001 From: Aleks-Daniel Jakimenko-Aleksejev Date: Wed, 14 Aug 2019 16:02:23 +0300 Subject: [PATCH 15/82] Simplify versioning --- PATH-TO-RAKU.md | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/PATH-TO-RAKU.md b/PATH-TO-RAKU.md index 8da09fe..8621263 100644 --- a/PATH-TO-RAKU.md +++ b/PATH-TO-RAKU.md @@ -23,30 +23,11 @@ to be discussed further. ## Versioning -The approach for using letters to indicate language versions will be continued -but without the mention of `6`. And uppercase letters will be used, because -mentioning `Raku D` looks much better then mentioning `Raku d`. - -The `use` statement is historically used to indicate the version of the -compilation unit. Since direct code compatibility with Perl 5 is no longer -on the horizon, it seems like a good opportunity to remove any ambiguity -from the `use` statement by moving that functionality to the `unit` statement. - - unit :ver; # same as "use v6.d;" - unit :lang:ver<30>; # if we have direct support for Perl 5.30 - -Some kind of API should be conceived to actually hand the rest of the code -of the compilation unit to another interpreter, so that the above :lang -case could possibly be handled by `Inline::Perl5`. And allow support for -other languages, e.g. `:lang` to be handed over to `Inline::Python`. - -Also, this would allow to specify compiler versions as well, although that -might be a compiler specific feature: - - unit :release<2019.07>; # release 2019.07 or higher - -Compilers would be free to either ignore additional named parameters, or -warn about named parameters they do not understand. +Because the next language release (6.e) will not coincide with +the rename, no changes to versioning of the language need to be done. +Given we are no longer forced to have "6" in the version, there are now +more options to do language versioning properly, and this aspect will +need to be discussed separately. ## Documentation changes From 985934b855c13ca1732e5db41184c8df6952f6ed Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 19:25:46 +0200 Subject: [PATCH 16/82] Move file to solutions/language --- PATH-TO-RAKU.md => solutions/language/PATH-TO-RAKU.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename PATH-TO-RAKU.md => solutions/language/PATH-TO-RAKU.md (100%) diff --git a/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md similarity index 100% rename from PATH-TO-RAKU.md rename to solutions/language/PATH-TO-RAKU.md From e35a5ac3019b24754a93e2c08c5cb1770c976445 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 20:35:13 +0200 Subject: [PATCH 17/82] Add mention about NQP (Not Quite Peanuts) --- solutions/language/PATH-TO-RAKU.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 8621263..fa2063e 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -8,7 +8,7 @@ cooperation. It will affect people in foreseen and unforeseen ways. ## Language changes -## .perl +### .perl The `.perl` method should be deprecated in 6.e, and removed in 6.f/g. It should be replaced by a `.raku` method. This could be implemented by a @@ -21,7 +21,7 @@ clashes with the `\.codes` method. Renaming `CallFrame.code` to `CallFrame.codeobj` and `\.codes` to `\.codepoints` appears to be an option to be discussed further. -## Versioning +### Versioning Because the next language release (6.e) will not coincide with the rename, no changes to versioning of the language need to be done. @@ -29,6 +29,12 @@ Given we are no longer forced to have "6" in the version, there are now more options to do language versioning properly, and this aspect will need to be discussed separately. +### NQP + +The acronym for NQP is Not Quite Perl. It feels that this could stay, or maybe +officially document that NQP doesn't stand for anything anymore, or find a +backcronym for it, such as "Not Quite Peanuts". + ## Documentation changes Wherever `Perl 6` is mentioned in the documentation, this should be changed From 48793deddbae5a6ae1aced64faf6d6117d5aefa8 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 14 Aug 2019 21:08:00 +0200 Subject: [PATCH 18/82] Add Not Quite Pottery as a backronym for NQP --- solutions/language/PATH-TO-RAKU.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index fa2063e..b3b55fc 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -33,7 +33,7 @@ need to be discussed separately. The acronym for NQP is Not Quite Perl. It feels that this could stay, or maybe officially document that NQP doesn't stand for anything anymore, or find a -backcronym for it, such as "Not Quite Peanuts". +backcronym for it, such as "Not Quite Peanuts" or "Not Quite Pottery". ## Documentation changes From 084ca0a0b3d3be3788c5c6e9fe978e734b7bd96a Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Thu, 15 Aug 2019 23:27:36 +0200 Subject: [PATCH 19/82] Add section about books --- solutions/language/PATH-TO-RAKU.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index b3b55fc..d8c7b03 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -156,6 +156,17 @@ will need to be made for them. Projects, such as Comma and Cro do not need any notifications, but other sub-projects may need to get advance notice. +## Effects on books + +Currently printed copies of books will probably need a sticker like "Covers +the new exciting Raku programming language). + +Perl 6 books that have been open sourced, can be adapted by the community or +the original author. Since ebook sales currently outperform printed books +by an order of magnitude, preparing another version of an ebook should be +a relatively small effort, which can actually be distributed among many +individuals using modern source control techniques.. + ## Effects on the Perl community There is a (small) part of the Perl community that welcomes Perl 6 leaving From 31a00384a6ed1ba9cd314091a2cdc87f452c78ca Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Fri, 16 Aug 2019 11:04:03 +0200 Subject: [PATCH 20/82] Refince external references section Add specific mention of Rosetta Code --- solutions/language/PATH-TO-RAKU.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index d8c7b03..496b78d 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -61,19 +61,19 @@ make IRC channel logging one of the infrastructure tasks. ## External references -Many places on the Internet refer to `Perl 6`, e.g. Wikipedia. These -references will need to be changed to `Raku`, with a small explanation of -the name change. +Many places on the Internet refer to `Perl 6`, e.g. Wikipedia and Rosetta +code. These references will need to be changed to `Raku`, with a small +explanation of the name change. Many sites, such as Reddit and StackOverflow, use implicit / explicit `perl6` tags. These will need to be changed or have a `raku` tag added, possibly with cooperation of the administrators. -Sites such as PerlMonks appear to be really `Perl 5` focused, and could -possible make that clear in their description, or change their description -to specifically include `Raku`. It would look like the `/r/perl` Reddit -description can be changed to indicate that only `Perl 5` questions are -on topic there. +Sites such as PerlMonks appear to be really `Perl` (aka `Perl 5`) focused, +and could possible make that clear in their description, or change their +description to specifically include `Raku`. It would look like the +`/r/perl` Reddit description can be changed to indicate that only `Perl 5` +questions are on topic there. ## Technical changes From 92fd411b67ddb865d888ff98eca7635b9ad432a7 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Fri, 16 Aug 2019 11:37:05 +0200 Subject: [PATCH 21/82] Open the door to a joint rename / next version event Also fix some erroneous backslashes --- solutions/language/PATH-TO-RAKU.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 496b78d..73acbae 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -16,15 +16,19 @@ global search/replace of `.perl` to `.raku` (both in method names and in calls) in `src/core`, `src/Perl6` and `lib`. A new `Mu.perl` method should issue a DEPRECATED message, and then call `Mu.raku`. -Renaming to `\.code` currently clashes with `CallFrame.code`, and visually -clashes with the `\.codes` method. Renaming `CallFrame.code` to -`CallFrame.codeobj` and `\.codes` to `\.codepoints` appears to be an option +Renaming to `.code` currently clashes with `CallFrame.code`, and visually +clashes with the `.codes` method. Renaming `CallFrame.code` to +`CallFrame.codeobj` and `.codes` to `.codepoints` appears to be an option to be discussed further. ### Versioning -Because the next language release (6.e) will not coincide with +Because the next language release (6.e) may not coincide with the rename, no changes to versioning of the language need to be done. +However, since a new language version would be an excellent marketing +opportunity, maybe the rename should coincide with a new language version +relese. + Given we are no longer forced to have "6" in the version, there are now more options to do language versioning properly, and this aspect will need to be discussed separately. From cfd072d974ee916bda793f2f46576401df7785d2 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Fri, 16 Aug 2019 11:46:36 +0200 Subject: [PATCH 22/82] Mention a "Raku Foundation" as part of YAS --- solutions/language/PATH-TO-RAKU.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 73acbae..a9116d1 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -219,3 +219,10 @@ on continued development on all projects. Should The Perl Foundation decide to not want to have anything to do with `Raku`, only then should an alternate organisational support be discussed. + +However, since "Yet Another Society" is doing business as "The Perl +Foundation", maybe it is an idea to create another "doing business as" +called "The Raku Foundation". Which would make it clear that "The Perl +Foundation" is for Perl 5 only, whereas "The Raku Foundation" would be for +Raku only. While both are part of the Perl Mindset in the "Yet Another +Society". From c5cb2c97feb49a3f271bf80d193df5ec52792e02 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Sun, 18 Aug 2019 21:44:27 +0200 Subject: [PATCH 23/82] Add mention of $*PERL and Perl class --- solutions/language/PATH-TO-RAKU.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index a9116d1..a2855a4 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -21,6 +21,10 @@ clashes with the `.codes` method. Renaming `CallFrame.code` to `CallFrame.codeobj` and `.codes` to `.codepoints` appears to be an option to be discussed further. +Also the `$*PERL` dynamic variable and the `Perl` class will need to be +renamed, probably to `$*RAKU` and `Raku`, respectively. After a deprecation +cycle of course. + ### Versioning Because the next language release (6.e) may not coincide with From 04108b11a0249c877def4d67e1211705cbc22a2d Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Mon, 19 Aug 2019 14:12:38 +0200 Subject: [PATCH 24/82] Remove suggestion of .code, go for .raku. --- solutions/language/PATH-TO-RAKU.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index a2855a4..4a21bab 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -16,10 +16,9 @@ global search/replace of `.perl` to `.raku` (both in method names and in calls) in `src/core`, `src/Perl6` and `lib`. A new `Mu.perl` method should issue a DEPRECATED message, and then call `Mu.raku`. -Renaming to `.code` currently clashes with `CallFrame.code`, and visually -clashes with the `.codes` method. Renaming `CallFrame.code` to -`CallFrame.codeobj` and `.codes` to `.codepoints` appears to be an option -to be discussed further. +Renaming to `.code` currently clashes with `CallFrame.code`, visually clashes +with the `.codes` method, and it being a generic name, probably also clashes +with CPAN and DarkPan Perl 6 modules. Also the `$*PERL` dynamic variable and the `Perl` class will need to be renamed, probably to `$*RAKU` and `Raku`, respectively. After a deprecation From 9301d09db58c20f7b5d9f47447f96d565350dbd2 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Mon, 19 Aug 2019 14:14:51 +0200 Subject: [PATCH 25/82] Remove suggestion for new backcronym for NQP --- solutions/language/PATH-TO-RAKU.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 4a21bab..0cb9094 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -39,8 +39,7 @@ need to be discussed separately. ### NQP The acronym for NQP is Not Quite Perl. It feels that this could stay, or maybe -officially document that NQP doesn't stand for anything anymore, or find a -backcronym for it, such as "Not Quite Peanuts" or "Not Quite Pottery". +officially document that NQP doesn't stand for anything anymore. ## Documentation changes From b9c597b3d737bcad237386f04680967a9c9228b8 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 13:39:58 +0200 Subject: [PATCH 26/82] Add mention of pragmas and other places needing adaptation. --- solutions/language/PATH-TO-RAKU.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 0cb9094..12e4584 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -24,6 +24,12 @@ Also the `$*PERL` dynamic variable and the `Perl` class will need to be renamed, probably to `$*RAKU` and `Raku`, respectively. After a deprecation cycle of course. +### Pragmas + +The `use isms ` should be DEPRECATED and changed to `use isms `. +Similarly `use Foo:from` to `use Foo:from` and the `:lang` +parameter to `EVAL`. + ### Versioning Because the next language release (6.e) may not coincide with From 87d43430edc83f9416970358f3b17bdc8d264511 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 16:31:06 +0200 Subject: [PATCH 27/82] Separate next release from language release --- solutions/language/PATH-TO-RAKU.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 12e4584..87ac570 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -33,10 +33,13 @@ parameter to `EVAL`. ### Versioning Because the next language release (6.e) may not coincide with -the rename, no changes to versioning of the language need to be done. -However, since a new language version would be an excellent marketing -opportunity, maybe the rename should coincide with a new language version -relese. +the rename, no changes to versioning of the language need to be done. The +next release *will* however be a Raku release, but should be otherwise +completely compatible with previous releases. + +A new *language* version would be the opportunity to make the name change +more widely known with associated marketing efforts. But this will *not* +be with the next (monthlyish) release. Given we are no longer forced to have "6" in the version, there are now more options to do language versioning properly, and this aspect will From 535d778c66fdc23d5438bda96d28a5e764438715 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 16:34:23 +0200 Subject: [PATCH 28/82] Specify when "Perl 6" should be referenced --- solutions/language/PATH-TO-RAKU.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 87ac570..ddf7a3f 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -56,6 +56,10 @@ Wherever `Perl 6` is mentioned in the documentation, this should be changed to `Raku`. A mention of `Perl 6` in the glossary should remain, and maybe in the documentation of the `.perl` (to be renamed to `.raku`) method. +A mention to `Perl 6` should only occur when a redirect from `docs.perl6.org` +has been detected / or a special URL to redirect to has been followed (e.g. +https://documentation.raku-lang.org/?from=perl6). + ## Website changes Websites that have `perl6` in their name, should redirect to their From dd6054cddd9c091b88549f3048fd4b63fe0dca37 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 16:37:35 +0200 Subject: [PATCH 29/82] NQP stays Not Quit Perl --- solutions/language/PATH-TO-RAKU.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index ddf7a3f..369459c 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -47,8 +47,9 @@ need to be discussed separately. ### NQP -The acronym for NQP is Not Quite Perl. It feels that this could stay, or maybe -officially document that NQP doesn't stand for anything anymore. +The acronym for NQP is Not Quite Perl. It stays that way, so no changes +to documentation are needed. Generally, the MoarVM / NQP construct should +not matter a lot for the average user. ## Documentation changes From d14804e6b007af5745f24e841f8be723e8bbe000 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 16:40:21 +0200 Subject: [PATCH 30/82] Elaborate a bit about changing external references --- solutions/language/PATH-TO-RAKU.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 369459c..f482040 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -83,7 +83,9 @@ make IRC channel logging one of the infrastructure tasks. Many places on the Internet refer to `Perl 6`, e.g. Wikipedia and Rosetta code. These references will need to be changed to `Raku`, with a small -explanation of the name change. +explanation of the name change. This should be a coordinated effort to +avoid duplicity of work, and to make sure that the explanation of the name +change is consistent. Many sites, such as Reddit and StackOverflow, use implicit / explicit `perl6` tags. These will need to be changed or have a `raku` tag added, possibly From ce377bd9c609cf186686fbf0ddbd5d7ae9077890 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 16:44:23 +0200 Subject: [PATCH 31/82] Remove mention of marketing repo We need new material, that's the important thing. Of course that will wind up in a repo. FWIW, I mentioned a new repo because I thought we had lost the repo with Zoffix' departure. --- solutions/language/PATH-TO-RAKU.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index f482040..56e1558 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -142,10 +142,10 @@ be seen as a lasting tribute (easter egg) to the origin of "Raku". ## Marketing changes Renaming `Perl 6` to `Raku` is an event that should be used to get maximum -marketing result. This will need a new marketing repo, with `Raku` marketing -materials. Announcement should be coordinated, e.g. by a blog post on -`opensource.com` or similar outlets, followed up by links on the various -social media outlets, such as Twitter, Facebook, Hacker News, Reddit, etc. +marketing result. This will need `Raku` marketing materials. Announcement +should be coordinated, e.g. by a blog post on `opensource.com` or similar +outlets, followed up by links on the various social media outlets, such as +Twitter, Facebook, Hacker News, Reddit, etc. Specific attention should be given for the announcement of Raku in non-latin script countries, such as India, Japan, China, Taiwan. Raku with its more From 2f5794b45853eec37ce69cb0be6713e30296ce51 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 16:48:23 +0200 Subject: [PATCH 32/82] Elaborated on special attention --- solutions/language/PATH-TO-RAKU.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 56e1558..f00c584 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -148,9 +148,10 @@ outlets, followed up by links on the various social media outlets, such as Twitter, Facebook, Hacker News, Reddit, etc. Specific attention should be given for the announcement of Raku in non-latin -script countries, such as India, Japan, China, Taiwan. Raku with its more -than excellent Unicode support, should be able to make a big splash for -developers in those regions. +script countries (such as India, Japan, China, Taiwan) by making sure any +announcements are also translated into appropriate languages for these regions. +Raku, with its more than excellent Unicode support, should be able to make a +big splash for developers in those regions. ## Ecosystem changes From 1b89762c28c23bd4fd29d081daaa4891a7b34e2c Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 16:52:50 +0200 Subject: [PATCH 33/82] Elaborate on repo name changes and documentation changes --- solutions/language/PATH-TO-RAKU.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index f00c584..0425f74 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -171,8 +171,9 @@ alternatives will need to be found and/or implemented. ## Effects on modules in ecosystem Many modules either mention "perl6-" in their repo name, or mention "Perl 6" -in their documentation. These will have to be scanned and Pull Requests -will need to be made for them. +in their documentation. The documentation will have to be scanned and Pull +Requests will need to be made / generated for them. Developers will be asked +to change their repo-name to not include `perl6-` to avoid future confusion. ## Effects on running sub-projects From 2b237b5ca8894a663ce2573c884cefbd9f0a6184 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 16:56:35 +0200 Subject: [PATCH 34/82] Elaborate on effects on running sub-projects --- solutions/language/PATH-TO-RAKU.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 0425f74..5c7d237 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -178,7 +178,12 @@ to change their repo-name to not include `perl6-` to avoid future confusion. ## Effects on running sub-projects Projects, such as Comma and Cro do not need any notifications, but other -sub-projects may need to get advance notice. +sub-projects may need to get advance notice. An inventory of these +sub-projects will need to be made, and their maintainers be notified +individually, rather than through social media. This is both to stress +the urgency for a change, and to be able to present a "clean slate" to the +general public when announcements about the name change *are* made through +social media. ## Effects on books From f3d057acc17325e839ebc33b6c4a1f7360c2e9c3 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 17:34:05 +0200 Subject: [PATCH 35/82] Elaborate a bit on community healing --- solutions/language/PATH-TO-RAKU.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 5c7d237..0cfac08 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -203,6 +203,11 @@ that community. But in general, it appears that Perl community members would like to have channels open between members that only do `Perl 5`, and members that only do `Raku`. +The name change of `Perl 6` to `Raku` is also intended to have a healing +effect on a community that has been effectively split for many years. +It is the hope of the Raku core development team that future events will +continue to cater for both `Perl` as well as `Raku` presentations. + ## Effects on user groups Each Perl user group (Perl Monger group) will have to decide for themselves From 6b0041002eb0e490d49c72bbb15d18123a8c0fea Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 17:42:42 +0200 Subject: [PATCH 36/82] Add social media section --- solutions/language/PATH-TO-RAKU.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 0cfac08..1f14b88 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -153,6 +153,20 @@ announcements are also translated into appropriate languages for these regions. Raku, with its more than excellent Unicode support, should be able to make a big splash for developers in those regions. +## Social Media + +Users who want to blog about `Raku` are suggested to always at least mention +`Raku Programming Language` in their blog post, or in the boilerplate of their +blog posts. Mentioning of `Perl 6` in such blog posts is **discouraged**, +unless the blog post is actually about the renaming process. + +When using social media that use hash-tags, users are suggested to use the +`#raku-lang` hash-tag, and **not** use the `#perl6` hash-tag, unless the +post is actually about the renaming process. + +Of course, the same applies to more official social media usage by the core +development team. + ## Ecosystem changes From the standpoint of users, there should not be any change: `zef` should From 3118a7eb7177917c89f31b3f12c5ff524ebd0b00 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 20 Aug 2019 19:16:49 +0200 Subject: [PATCH 37/82] Add historical matters --- solutions/language/PATH-TO-RAKU.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 1f14b88..2ebd8b9 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -158,11 +158,12 @@ big splash for developers in those regions. Users who want to blog about `Raku` are suggested to always at least mention `Raku Programming Language` in their blog post, or in the boilerplate of their blog posts. Mentioning of `Perl 6` in such blog posts is **discouraged**, -unless the blog post is actually about the renaming process. +unless the blog post is actually about the renaming process or historical +matters. When using social media that use hash-tags, users are suggested to use the `#raku-lang` hash-tag, and **not** use the `#perl6` hash-tag, unless the -post is actually about the renaming process. +post is actually about the renaming process or historical matters. Of course, the same applies to more official social media usage by the core development team. From 531b62800497a6d0c05d4ad2c27acae615ded3c0 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 21 Aug 2019 10:35:40 +0200 Subject: [PATCH 38/82] Add initial version of SWOT analysis --- solutions/language/SWOT-TO-RAKU.md | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 solutions/language/SWOT-TO-RAKU.md diff --git a/solutions/language/SWOT-TO-RAKU.md b/solutions/language/SWOT-TO-RAKU.md new file mode 100644 index 0000000..348d5a1 --- /dev/null +++ b/solutions/language/SWOT-TO-RAKU.md @@ -0,0 +1,34 @@ +# SWOT analysis of renaming Perl 6 to Raku + +## Strengths + +- no longer linked to bad reputation of "Perl" +- frees up higher versioning of "Perl" +- removes source of Perl community stress +- is a cool name that should appeal to younger people +- name should better appeal to non-english native speakers +- should be easier to get distinctive TIOBE rating + +## Weaknesses + +- will *still* be linked to "Perl" because of historical connection +- may be hard to find using search engines, at least initially +- must start with TIOBE rating from scratch + +## Opportunities + +- could be considered a brand new language, and thus more interesting to some +- should re-invigorate development +- should re-invigorate marketing +- with better branding, should be able to get easier sponsorships / grants +- may get core developers who have left, back into the core team +- could be marketed as a programming language without corporate backing, and thus free from corporate influencing / agenda +- could be marketed as the 100-year language properly + +## Threats + +- may lose current users because of name change +- may lose current core developers because of name change +- may be made fun of as the language that cannot make up its mind +- may cause incompatibities / breakage that will reflect badly on overall image +- may not get enough traction to grow anyway From 15a84518d446dc12044c30e855060566fc1f850d Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 21 Aug 2019 11:04:16 +0200 Subject: [PATCH 39/82] Simplify the Executables section --- solutions/language/PATH-TO-RAKU.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 2ebd8b9..3028a59 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -105,15 +105,11 @@ messages where appropriate). ### Executables -As some packagers have already done, the executable should be called `raku`. -With symlinks / hard links added as appropriate to keep the old executable -names working. If at all technically possible, running a script using the +As some packagers have already done, the executable should be called `rakudo`, +since `rakudo` is the name of the implementation. `raku` and `perl6` should +be symlinks. If at all technically possible, running a script using the `perl6` as the executor, should provide a DEPRECATED warning at some point. -Since `rakudo` is the name of the implementation, the main executable that -is created in the build process should have that name. `raku` and `perl6` -should be symlinks. - ### Extensions The extension `.rk` for scripts, `.rkm` for modules, and `.rd` for From a1e9c806a11fca025c158e76ae068d364708e4d1 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 21 Aug 2019 11:05:36 +0200 Subject: [PATCH 40/82] Mention need for a META6.json file --- solutions/language/PATH-TO-RAKU.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 3028a59..8c9a2d5 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -173,8 +173,9 @@ change either. On PAUSE, Perl 6 distributions are automatically uploaded to a "Perl6" subdirectory, but this is completely transparent to both the author as well -as anything else that needs to look at that. So for the foreseeable future, -no changes will be needed there. +as anything else that needs to look at that as long as a file `META6.json` +exists in the distribution. So for the foreseeable future, no changes will +be needed there. Should PAUSE decide to no longer support `Raku` modules in its system, then alternatives will need to be found and/or implemented. From 25916df3dc85b446b7200d3628eeab6f2909ef26 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 21 Aug 2019 11:24:58 +0200 Subject: [PATCH 41/82] More SWOTs --- solutions/language/SWOT-TO-RAKU.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/solutions/language/SWOT-TO-RAKU.md b/solutions/language/SWOT-TO-RAKU.md index 348d5a1..83eee23 100644 --- a/solutions/language/SWOT-TO-RAKU.md +++ b/solutions/language/SWOT-TO-RAKU.md @@ -12,6 +12,8 @@ ## Weaknesses - will *still* be linked to "Perl" because of historical connection +- Perl 6 books will not know of name change, and thus continue to "squat" +- Perl 6 blog posts will not know of name change, and thus continue to "squat" - may be hard to find using search engines, at least initially - must start with TIOBE rating from scratch @@ -24,11 +26,15 @@ - may get core developers who have left, back into the core team - could be marketed as a programming language without corporate backing, and thus free from corporate influencing / agenda - could be marketed as the 100-year language properly +- current Perl 6 books could be updated while changing the name +- current Perl 6 blog posts could be better marked with TIOBE tag (as they presently are not tagged correctly in general) +- reworked documentation could have *all* pages properly TIOBE tagged ## Threats - may lose current users because of name change - may lose current core developers because of name change +- may lose current book writers because of name change - may be made fun of as the language that cannot make up its mind - may cause incompatibities / breakage that will reflect badly on overall image - may not get enough traction to grow anyway From 59d86086fda1a3fd89092f1e3dc163f4c034f4a4 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 21 Aug 2019 12:23:25 +0200 Subject: [PATCH 42/82] Mention less confusion about name --- solutions/language/SWOT-TO-RAKU.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/solutions/language/SWOT-TO-RAKU.md b/solutions/language/SWOT-TO-RAKU.md index 83eee23..cafcde0 100644 --- a/solutions/language/SWOT-TO-RAKU.md +++ b/solutions/language/SWOT-TO-RAKU.md @@ -2,8 +2,9 @@ ## Strengths -- no longer linked to bad reputation of "Perl" +- removes the confusion that Perl 6 is Perl version 6 (a new version of Perl). - frees up higher versioning of "Perl" +- no longer linked to bad reputation of "Perl" - removes source of Perl community stress - is a cool name that should appeal to younger people - name should better appeal to non-english native speakers From 2e477d6968f2d04acaaa899612257562519024e8 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 21 Aug 2019 12:48:03 +0200 Subject: [PATCH 43/82] Mention social media tagging --- solutions/language/SWOT-TO-RAKU.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/solutions/language/SWOT-TO-RAKU.md b/solutions/language/SWOT-TO-RAKU.md index cafcde0..8d2ea6e 100644 --- a/solutions/language/SWOT-TO-RAKU.md +++ b/solutions/language/SWOT-TO-RAKU.md @@ -17,6 +17,7 @@ - Perl 6 blog posts will not know of name change, and thus continue to "squat" - may be hard to find using search engines, at least initially - must start with TIOBE rating from scratch +- in social media, #raku as a tag is overloaded with Japanese pottery meaning ## Opportunities @@ -30,6 +31,7 @@ - current Perl 6 books could be updated while changing the name - current Perl 6 blog posts could be better marked with TIOBE tag (as they presently are not tagged correctly in general) - reworked documentation could have *all* pages properly TIOBE tagged +- in social media, use new, distinctive #rakulang tag ## Threats From 2c7aeaf523abbc6e680d374cc112fe1b331ae79c Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 21 Aug 2019 13:05:09 +0200 Subject: [PATCH 44/82] Add marketing opportunity --- solutions/language/SWOT-TO-RAKU.md | 1 + 1 file changed, 1 insertion(+) diff --git a/solutions/language/SWOT-TO-RAKU.md b/solutions/language/SWOT-TO-RAKU.md index 8d2ea6e..8e1c905 100644 --- a/solutions/language/SWOT-TO-RAKU.md +++ b/solutions/language/SWOT-TO-RAKU.md @@ -27,6 +27,7 @@ - with better branding, should be able to get easier sponsorships / grants - may get core developers who have left, back into the core team - could be marketed as a programming language without corporate backing, and thus free from corporate influencing / agenda +- could be marketed on its own, with its own strengths, such as multi-paradigmity and concurrency, as well as coverage of the Unicode standard - could be marketed as the 100-year language properly - current Perl 6 books could be updated while changing the name - current Perl 6 blog posts could be better marked with TIOBE tag (as they presently are not tagged correctly in general) From a264ae4e5297bb464c6213044b10e6fb1c0eb541 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 21 Aug 2019 13:13:24 +0200 Subject: [PATCH 45/82] Add some more threats And remove "because of a name change", because that's what this SWOT analysis is all about anyway, so redundant --- solutions/language/SWOT-TO-RAKU.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/solutions/language/SWOT-TO-RAKU.md b/solutions/language/SWOT-TO-RAKU.md index 8e1c905..da230d6 100644 --- a/solutions/language/SWOT-TO-RAKU.md +++ b/solutions/language/SWOT-TO-RAKU.md @@ -36,9 +36,11 @@ ## Threats -- may lose current users because of name change -- may lose current core developers because of name change -- may lose current book writers because of name change +- may lose current users +- may lose current core developers +- may lose current book writers +- may lose support from local Perl user groups (PerlMongers) +- may lose support of organizations such as The Perl Foundation, EPO, YEF - may be made fun of as the language that cannot make up its mind - may cause incompatibities / breakage that will reflect badly on overall image - may not get enough traction to grow anyway From 62c083def671f1080677b5cccab7768292c0c339 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Thu, 22 Aug 2019 18:08:11 +0200 Subject: [PATCH 46/82] Add a strength and an opportunity --- solutions/language/SWOT-TO-RAKU.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/solutions/language/SWOT-TO-RAKU.md b/solutions/language/SWOT-TO-RAKU.md index da230d6..94d5c41 100644 --- a/solutions/language/SWOT-TO-RAKU.md +++ b/solutions/language/SWOT-TO-RAKU.md @@ -9,6 +9,7 @@ - is a cool name that should appeal to younger people - name should better appeal to non-english native speakers - should be easier to get distinctive TIOBE rating +- will keep at least one core developer from leaving the project ## Weaknesses @@ -33,6 +34,7 @@ - current Perl 6 blog posts could be better marked with TIOBE tag (as they presently are not tagged correctly in general) - reworked documentation could have *all* pages properly TIOBE tagged - in social media, use new, distinctive #rakulang tag +- could make an ex-core developer return to the project ## Threats From bcf6c877b7cad241b07191323e7a89563e2e078f Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Thu, 22 Aug 2019 20:07:05 +0200 Subject: [PATCH 47/82] Revert "Add a strength and an opportunity" This reverts commit 62c083def671f1080677b5cccab7768292c0c339. --- solutions/language/SWOT-TO-RAKU.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/solutions/language/SWOT-TO-RAKU.md b/solutions/language/SWOT-TO-RAKU.md index 94d5c41..da230d6 100644 --- a/solutions/language/SWOT-TO-RAKU.md +++ b/solutions/language/SWOT-TO-RAKU.md @@ -9,7 +9,6 @@ - is a cool name that should appeal to younger people - name should better appeal to non-english native speakers - should be easier to get distinctive TIOBE rating -- will keep at least one core developer from leaving the project ## Weaknesses @@ -34,7 +33,6 @@ - current Perl 6 blog posts could be better marked with TIOBE tag (as they presently are not tagged correctly in general) - reworked documentation could have *all* pages properly TIOBE tagged - in social media, use new, distinctive #rakulang tag -- could make an ex-core developer return to the project ## Threats From 235ae7d6e7f16e1507039bfe93fc7717fe5151fc Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Thu, 22 Aug 2019 21:24:51 +0200 Subject: [PATCH 48/82] Mention potential drain from events --- solutions/language/SWOT-TO-RAKU.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/solutions/language/SWOT-TO-RAKU.md b/solutions/language/SWOT-TO-RAKU.md index da230d6..4b8174d 100644 --- a/solutions/language/SWOT-TO-RAKU.md +++ b/solutions/language/SWOT-TO-RAKU.md @@ -43,4 +43,6 @@ - may lose support of organizations such as The Perl Foundation, EPO, YEF - may be made fun of as the language that cannot make up its mind - may cause incompatibities / breakage that will reflect badly on overall image +- could drain critical mass from Perl 5 events +- could drain critical mass from Raku events - may not get enough traction to grow anyway From 6af3f5304213d98d4e0350e6431311176adba77d Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Sat, 24 Aug 2019 11:14:57 +0200 Subject: [PATCH 49/82] Remove Wikipedia / Rosettacode reference --- solutions/language/PATH-TO-RAKU.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 8c9a2d5..bf55fca 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -81,11 +81,10 @@ make IRC channel logging one of the infrastructure tasks. ## External references -Many places on the Internet refer to `Perl 6`, e.g. Wikipedia and Rosetta -code. These references will need to be changed to `Raku`, with a small -explanation of the name change. This should be a coordinated effort to -avoid duplicity of work, and to make sure that the explanation of the name -change is consistent. +Many places on the Internet refer to `Perl 6`. These references will need +to be changed to `Raku`, with a small explanation of the name change. This +should be a coordinated effort to avoid duplicity of work, and to make sure +that the explanation of the name change is consistent. Many sites, such as Reddit and StackOverflow, use implicit / explicit `perl6` tags. These will need to be changed or have a `raku` tag added, possibly From 115a26084fd561e7b8b5d4b82cfad0a624065959 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 3 Sep 2019 11:50:15 +0100 Subject: [PATCH 50/82] Elaborate on IRC logging --- solutions/language/PATH-TO-RAKU.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index bf55fca..b62a63f 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -76,8 +76,13 @@ be renamed or closed / opened with the new name (#raku\*). New joins should be forwarded to the new channels. Colabti.org will need to be asked to log these channels, so that we can have -backlog again. Further down the road, it would probably be a wise idea to -make IRC channel logging one of the infrastructure tasks. +backlog again. Unfortunately, it appears to be too difficult to migrate #perl6 +logs, so the same approach that was done when the #perl6-dev channel was +created, will need to be followed. So searching the logs will need to be +done on the old names. + +Further down the road, it would probably be a wise idea to make IRC channel +logging one of the infrastructure tasks. ## External references From dcd66a7be22168ceb7e59f226d80e8f12ebd58f9 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 3 Sep 2019 11:56:02 +0100 Subject: [PATCH 51/82] Suggest solution to .perl methods in non-core modules --- solutions/language/PATH-TO-RAKU.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index b62a63f..9dfded4 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -16,6 +16,10 @@ global search/replace of `.perl` to `.raku` (both in method names and in calls) in `src/core`, `src/Perl6` and `lib`. A new `Mu.perl` method should issue a DEPRECATED message, and then call `Mu.raku`. +The ClassHOW metamodel class should be adapted so that any non-core modules +that have a `.perl` method, will get installed as `.raku`, and a wrapped +version with a `DEPRECATED` message to be installed as the `.perl` method. + Renaming to `.code` currently clashes with `CallFrame.code`, visually clashes with the `.codes` method, and it being a generic name, probably also clashes with CPAN and DarkPan Perl 6 modules. From 0dc653424201b5a7b3ead4dc740731b1e78faa4e Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 3 Sep 2019 12:01:21 +0100 Subject: [PATCH 52/82] Elaborate on $*RAKU and Raku class --- solutions/language/PATH-TO-RAKU.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 9dfded4..40028ae 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -24,9 +24,9 @@ Renaming to `.code` currently clashes with `CallFrame.code`, visually clashes with the `.codes` method, and it being a generic name, probably also clashes with CPAN and DarkPan Perl 6 modules. -Also the `$*PERL` dynamic variable and the `Perl` class will need to be -renamed, probably to `$*RAKU` and `Raku`, respectively. After a deprecation -cycle of course. +`$*RAKU` and the `Raku` class will be the replacement of `$*PERL` and the +`Perl` class, which initially will just be aliases. At a language boundary +switch, they will become actual type declarations. ### Pragmas From 6b2ddf812f48c81f23fba81a06765339b579ca0a Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 3 Sep 2019 12:04:28 +0100 Subject: [PATCH 53/82] Do **NOT** change "Perl5" where it's used --- solutions/language/PATH-TO-RAKU.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 40028ae..45644a5 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -30,9 +30,10 @@ switch, they will become actual type declarations. ### Pragmas -The `use isms ` should be DEPRECATED and changed to `use isms `. -Similarly `use Foo:from` to `use Foo:from` and the `:lang` -parameter to `EVAL`. +The `use isms ` should **NOT** be changed to `use isms `. +Similarly `use Foo:from` and the `:lang` parameter to `EVAL` should +not be changed as to allow more flexibility should the Perl 5 community +decide on a name change as well. ### Versioning From 50f7697fd02f2e270e89d5c8fa5acb1591d259e8 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 3 Sep 2019 12:09:25 +0100 Subject: [PATCH 54/82] Defer versioning discussion --- solutions/language/PATH-TO-RAKU.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 45644a5..8262756 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -48,7 +48,7 @@ be with the next (monthlyish) release. Given we are no longer forced to have "6" in the version, there are now more options to do language versioning properly, and this aspect will -need to be discussed separately. +need to be discussed separately at a later time. ### NQP From 998232afcada1435e9ccbdd4cbed20a82a72bf17 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 3 Sep 2019 12:12:10 +0100 Subject: [PATCH 55/82] Elaborate on tagging --- solutions/language/PATH-TO-RAKU.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 8262756..25bdaed 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -98,7 +98,8 @@ that the explanation of the name change is consistent. Many sites, such as Reddit and StackOverflow, use implicit / explicit `perl6` tags. These will need to be changed or have a `raku` tag added, possibly -with cooperation of the administrators. +with cooperation of the administrators. It should be prevented that "Perl 6" +all of a sudden becomes hard to find on these sites. Sites such as PerlMonks appear to be really `Perl` (aka `Perl 5`) focused, and could possible make that clear in their description, or change their From 50c14e215714ba203610120ed916eaf0d7172e6c Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 3 Sep 2019 12:14:03 +0100 Subject: [PATCH 56/82] Mention installers --- solutions/language/PATH-TO-RAKU.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 25bdaed..51d4fae 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -130,7 +130,8 @@ extensions should be marked as DEPRECATED, causing a message to be generated when the module is loaded. On Windows some more trickery may be involved to mark a script with the -`.rk` extension as executable. +`.rk` extension as executable, because installers will need to add the +`.rk` association as well. ### Testing From 24fddab7799f1d02e13f4a859895df997771c10b Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 3 Sep 2019 12:19:10 +0100 Subject: [PATCH 57/82] Introduce concept of a migration guide --- solutions/language/PATH-TO-RAKU.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 51d4fae..d677139 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -193,10 +193,14 @@ alternatives will need to be found and/or implemented. ## Effects on modules in ecosystem -Many modules either mention "perl6-" in their repo name, or mention "Perl 6" -in their documentation. The documentation will have to be scanned and Pull -Requests will need to be made / generated for them. Developers will be asked -to change their repo-name to not include `perl6-` to avoid future confusion. +A "migration guide" (perhaps with a better name) for existing developers that +collect suggestions of what to do about the rename. If we can generate PRs +that's perhaps also helpful, though we might want that to be opt-in: authors +with a load of modules might be unpleasantly surprised to wake up one morning +to an inbox full of PRs. + +Such a guide should help authors with modules that either mention "perl6-" +in their repo name, or mention "Perl 6" in their documentation. ## Effects on running sub-projects From 5789db03a6af90fdb38509c78a9da8d52056159d Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 3 Sep 2019 12:26:36 +0100 Subject: [PATCH 58/82] Migration guide for book authors --- solutions/language/PATH-TO-RAKU.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index d677139..c6de9d3 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -218,10 +218,11 @@ Currently printed copies of books will probably need a sticker like "Covers the new exciting Raku programming language). Perl 6 books that have been open sourced, can be adapted by the community or -the original author. Since ebook sales currently outperform printed books -by an order of magnitude, preparing another version of an ebook should be -a relatively small effort, which can actually be distributed among many -individuals using modern source control techniques.. +the original author: a "Migration Guide for Book Authors" should help authors +with this. Since ebook sales currently outperform printed books by an order +of magnitude, preparing another version of an ebook should be a relatively +small effort, which can actually be distributed among many individuals using +modern source control techniques. ## Effects on the Perl community From 01efd7e39d58c0ad196953b0f989bada97021994 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 3 Sep 2019 12:30:20 +0100 Subject: [PATCH 59/82] Follow suggestion on phrasing --- solutions/language/PATH-TO-RAKU.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index c6de9d3..b68e7c3 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -226,10 +226,11 @@ modern source control techniques. ## Effects on the Perl community -There is a (small) part of the Perl community that welcomes Perl 6 leaving -that community. But in general, it appears that Perl community members would -like to have channels open between members that only do `Perl 5`, and members -that only do `Raku`. +There is a (small) part of the Perl community that welcome the rename, as they +don't want anything to do with the language and are glad to disassociate it +from the Perl name. But in general, it appears that Perl community members +would like to have channels open between members that only do `Perl 5`, and +members that only do `Raku`. The name change of `Perl 6` to `Raku` is also intended to have a healing effect on a community that has been effectively split for many years. From 813165ea045fd2545d9374f992a30b7b9295f31e Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Tue, 3 Sep 2019 12:33:10 +0100 Subject: [PATCH 60/82] More phrasing suggestions followed --- solutions/language/PATH-TO-RAKU.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index b68e7c3..3e0d3c8 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -228,9 +228,10 @@ modern source control techniques. There is a (small) part of the Perl community that welcome the rename, as they don't want anything to do with the language and are glad to disassociate it -from the Perl name. But in general, it appears that Perl community members -would like to have channels open between members that only do `Perl 5`, and -members that only do `Raku`. +from the Perl name. There are community members with an active interest in +both Perl 5 and Raku, and some of those who only do one or the other still +feel there is much to be learned from, and shared with, each other, especially +given the many shared design values of the languages. The name change of `Perl 6` to `Raku` is also intended to have a healing effect on a community that has been effectively split for many years. From 3021673634d51a522bd6eaed65df4ed544f275cd Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Wed, 4 Sep 2019 09:47:17 +0100 Subject: [PATCH 61/82] Also mention "p6" in repo names --- solutions/language/PATH-TO-RAKU.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 3e0d3c8..5c1c644 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -199,8 +199,8 @@ that's perhaps also helpful, though we might want that to be opt-in: authors with a load of modules might be unpleasantly surprised to wake up one morning to an inbox full of PRs. -Such a guide should help authors with modules that either mention "perl6-" -in their repo name, or mention "Perl 6" in their documentation. +Such a guide should help authors with modules that either mention "perl6" +or "p6" in their repo name, or mention "Perl 6" in their documentation. ## Effects on running sub-projects From 52b02f8d811ab155634e5528f0ce1c54e58deb1f Mon Sep 17 00:00:00 2001 From: Jonathan Worthington Date: Tue, 10 Sep 2019 17:27:35 +0200 Subject: [PATCH 62/82] Tweak proposed language changes * Make sure we have a release where .raku is specified, but .perl is not yet deprecated, to allow migration time before receiving the deprecation warning * Tweak the mechanism for module's .perl fallback * Add a missing heading --- solutions/language/PATH-TO-RAKU.md | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 5c1c644..15117bd 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -10,20 +10,26 @@ cooperation. It will affect people in foreseen and unforeseen ways. ### .perl -The `.perl` method should be deprecated in 6.e, and removed in 6.f/g. It -should be replaced by a `.raku` method. This could be implemented by a -global search/replace of `.perl` to `.raku` (both in method names and in -calls) in `src/core`, `src/Perl6` and `lib`. A new `Mu.perl` method should -issue a DEPRECATED message, and then call `Mu.raku`. - -The ClassHOW metamodel class should be adapted so that any non-core modules -that have a `.perl` method, will get installed as `.raku`, and a wrapped -version with a `DEPRECATED` message to be installed as the `.perl` method. +The `.perl` method should be deprecated in 6.f, and removed in 6.g. It +should be replaced by a `.raku` method, which will be specified in 6.e +(Rakudo can provide for it as soon as implemented). This could be +implemented by a global search/replace of `.perl` to `.raku` (both in +method names and in calls) in `src/core`, `src/Perl6` and `lib`. A new +`Mu.perl` method should be added that will later come to issue a +DEPRECATED message, and then delegate to `.raku`. + +To retain compatibility with modules that declare a method `perl`, the +default `raku` method should check if the type in question has a +non-default `perl` method (that is, not the one from `Mu`) and, if so, +call it. Once `.perl` is deprecated, it should issue the deprecation +warning also. Renaming to `.code` currently clashes with `CallFrame.code`, visually clashes with the `.codes` method, and it being a generic name, probably also clashes with CPAN and DarkPan Perl 6 modules. +### Perl and $*PERL + `$*RAKU` and the `Raku` class will be the replacement of `$*PERL` and the `Perl` class, which initially will just be aliases. At a language boundary switch, they will become actual type declarations. @@ -110,15 +116,15 @@ questions are on topic there. ## Technical changes All technical changes should make sure that all existing scripts continue -to work without change in the foreseeable future (with optional DEPRECATED -messages where appropriate). +to work without change in the foreseeable future. Additional DEPRECATED +messages will be introduced at point of a 6.e language change. ### Executables As some packagers have already done, the executable should be called `rakudo`, since `rakudo` is the name of the implementation. `raku` and `perl6` should be symlinks. If at all technically possible, running a script using the -`perl6` as the executor, should provide a DEPRECATED warning at some point. +`perl6` as the executor should provide a DEPRECATED warning at some point. ### Extensions From b96dff18b0318fa8ea5832f31292363bb417a8e8 Mon Sep 17 00:00:00 2001 From: Jonathan Worthington Date: Tue, 10 Sep 2019 17:30:22 +0200 Subject: [PATCH 63/82] Grammar tweak --- solutions/language/PATH-TO-RAKU.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 15117bd..0b88620 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -147,7 +147,7 @@ will need to be changed. ## Mascot -Camelia will remain the mascot. So the only thing that should change there +Camelia will remain the mascot. The only thing that should change there is that it is the mascot of `Raku` rather than `Perl 6`. The fact that the wings contain a "P" and a "6" is obscure enough to not be an issue, and could be seen as a lasting tribute (easter egg) to the origin of "Raku". From 749a9a2f6cbea573cbdc4abf1c435741d6f1fc64 Mon Sep 17 00:00:00 2001 From: Jonathan Worthington Date: Tue, 10 Sep 2019 17:30:45 +0200 Subject: [PATCH 64/82] Improve description of Windows file associations --- solutions/language/PATH-TO-RAKU.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 0b88620..da73f5b 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -135,9 +135,9 @@ will continue to be supported for 6.e. In 6.f, the `.pm`, `.pm6` and `.pod6` extensions should be marked as DEPRECATED, causing a message to be generated when the module is loaded. -On Windows some more trickery may be involved to mark a script with the -`.rk` extension as executable, because installers will need to add the -`.rk` association as well. +On Windows, installers should add a `.rk` association alongside the `.p6` +association for the time being. Around the time of 6.f, a `.p6` association +could be deselected by default, and perhaps dropped entirely by 6.g. ### Testing From 7faff8b4e696c1bfe73facdee972006e0181a4fd Mon Sep 17 00:00:00 2001 From: Jonathan Worthington Date: Tue, 10 Sep 2019 17:34:33 +0200 Subject: [PATCH 65/82] Mention two env vars that include PERL6 --- solutions/language/PATH-TO-RAKU.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index da73f5b..5bcf36f 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -34,6 +34,20 @@ with CPAN and DarkPan Perl 6 modules. `Perl` class, which initially will just be aliases. At a language boundary switch, they will become actual type declarations. +### `PERL6LIB` + +A `RAKULIB` environment variable will be introduced into a Rakudo release, +and specified as part of 6.e. If found in the environment, it will be used in +favor of `PERL6LIB`. From 6.f, use of `PERL6LIB` will issue a deprecation +warning. + +### `PERL6_HOME` + +This was only very recently introduced, and is likely not in wide use yet. +We could consider immediately replacing it with `RAKU_HOME` in an upcoming +Rakudo release, perhaps with a short-term fallback/warning - or error - if +it's missing, but `PERL6_HOME` is found. + ### Pragmas The `use isms ` should **NOT** be changed to `use isms `. From 9310222f554d6892b2e3c3eb6a1b4a5cacb9a5fb Mon Sep 17 00:00:00 2001 From: Jonathan Worthington Date: Tue, 10 Sep 2019 18:26:51 +0200 Subject: [PATCH 66/82] Add a draft module author guide to the changes --- solutions/language/PATH-TO-RAKU.md | 48 +++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 5bcf36f..bcbe506 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -213,15 +213,17 @@ alternatives will need to be found and/or implemented. ## Effects on modules in ecosystem -A "migration guide" (perhaps with a better name) for existing developers that -collect suggestions of what to do about the rename. If we can generate PRs -that's perhaps also helpful, though we might want that to be opt-in: authors -with a load of modules might be unpleasantly surprised to wake up one morning +A guide for existing module developers will be provided, which will offer +suggestions of what to do about the rename. If we can generate PRs that's +perhaps also helpful, though we might want that to be opt-in: authors with +a load of modules might be unpleasantly surprised to wake up one morning to an inbox full of PRs. Such a guide should help authors with modules that either mention "perl6" or "p6" in their repo name, or mention "Perl 6" in their documentation. +A proposed draft of such a guide is included at the end of this document. + ## Effects on running sub-projects Projects, such as Comma and Cro do not need any notifications, but other @@ -306,3 +308,41 @@ called "The Raku Foundation". Which would make it clear that "The Perl Foundation" is for Perl 5 only, whereas "The Raku Foundation" would be for Raku only. While both are part of the Perl Mindset in the "Yet Another Society". + +## Draft guide for module developers + +The Raku team are grateful to all those who have developed modules for the +language. We recognize that most contributors are doing so on a volunteer +basis, and that this work is often done in one's (lack of) free time. + +This guide provides some suggestions on how module authors can handle the +Perl 6 to Raku renaming. While there is a suggested timeline here, it is +to be interpreted as "at your convenience", rather than an expectation to +do these things quickly. + +### In the period immediately after the rename is agreed... + +You might consider: + +* Mentioning Raku in your module's README or other documentation. It's up to + you if you wish to have something like "Raku (formerly Perl 6)", to stay + findable for such searches for some time, or to simply adopt the Raku name + right away. +* Renaming the GitHub repository if it contains `p6` or `perl6` (remember to + update the `sources` entry in `META6.json` if doing this). + +In this interest of your module continuing to work with existing Rakudo +installations, please *do not*, at this point: + +* Change module file extensions away from `.pm6` +* Rely on `.raku`, `Raku`, `$*RAKU`, and similar + +### Around the release of 6.e... + +This is expected to happen in 2020. At this point, you might consider: + +* Changing module file extensions (remembering to update `META6.json`) +* Switching to use `.raku`, `Raku`, `$*RAKU`, and similar in the module's + code (most modules will not be doing this anyway) +* Dropping remaining mentions of Perl 6 in the documentation, unless it is + there for historical interest From 9285582c0ad6c4ddcb1546a7aeffb91ea807f093 Mon Sep 17 00:00:00 2001 From: Jonathan Worthington Date: Tue, 10 Sep 2019 18:27:13 +0200 Subject: [PATCH 67/82] Grammar tweak --- solutions/language/PATH-TO-RAKU.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index bcbe506..6b8459e 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -275,7 +275,7 @@ and maybe special events to celebrate the name change. ## Effects on events -Event organizers as always, are completely free in the naming of their events. +Event organizers are, as always, completely free in the naming of their events. If an event would like to cater for both `Perl` and `Raku` attendees, then this should be reflected in the name of the event. An event with just `Raku` in its name, would appear to cater only for attendees interested in `Raku`. From 90b8d0c7e72ca5f2834137c68b9fe3a87ff3ac15 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Fri, 13 Sep 2019 20:51:18 +0200 Subject: [PATCH 68/82] Rephrase the Social Media paragraph --- solutions/language/PATH-TO-RAKU.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 6b8459e..02f8c31 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -183,10 +183,10 @@ big splash for developers in those regions. ## Social Media Users who want to blog about `Raku` are suggested to always at least mention -`Raku Programming Language` in their blog post, or in the boilerplate of their -blog posts. Mentioning of `Perl 6` in such blog posts is **discouraged**, -unless the blog post is actually about the renaming process or historical -matters. +`Raku Programming Language` in their blog post or in the boilerplate of their +blogging engine (exactly that string, for better TIOBE rating). Mentioning of +`Perl 6` in such blog posts should only be done if the blog post is actually +about the renaming process or historical matters. When using social media that use hash-tags, users are suggested to use the `#raku-lang` hash-tag, and **not** use the `#perl6` hash-tag, unless the From 43a1c6d6afe6cc1a9aea9e0eaa9ac6a2006bb7ed Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Fri, 13 Sep 2019 20:56:30 +0200 Subject: [PATCH 69/82] Move the extensions discussion to a separate issue / PR --- solutions/language/PATH-TO-RAKU.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 02f8c31..f413b41 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -142,12 +142,14 @@ be symlinks. If at all technically possible, running a script using the ### Extensions -The extension `.rk` for scripts, `.rkm` for modules, and `.rd` for -documentation (POD6) will become the defacto standards for files containing -`Raku` code or documentation. The old `.pm`, `.pm6` and `.pod6` extensions -will continue to be supported for 6.e. In 6.f, the `.pm`, `.pm6` and `.pod6` -extensions should be marked as DEPRECATED, causing a message to be generated -when the module is loaded. +The matter of file extensions will be decided as a separate issue / PR. + +Suggestions for that issue: the extension `.rk` for scripts, `.rkm` for +modules, and `.rd` for documentation (POD6) to become the defacto standards +for files containing `Raku` code or documentation. The old `.pm`, `.pm6` and +`.pod6` extensions will continue to be supported for 6.e. In 6.f, the `.pm`, +`.pm6` and `.pod6` extensions could be marked as DEPRECATED, causing a message +to be generated when the module is loaded. On Windows, installers should add a `.rk` association alongside the `.p6` association for the time being. Around the time of 6.f, a `.p6` association From 6e7e625e53a9753227744b47454524eec4cd94cb Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Fri, 13 Sep 2019 20:58:50 +0200 Subject: [PATCH 70/82] Use the #rakulang hash tag, please --- solutions/language/PATH-TO-RAKU.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index f413b41..1613b42 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -191,7 +191,7 @@ blogging engine (exactly that string, for better TIOBE rating). Mentioning of about the renaming process or historical matters. When using social media that use hash-tags, users are suggested to use the -`#raku-lang` hash-tag, and **not** use the `#perl6` hash-tag, unless the +`#rakulang` hash-tag, and **not** use the `#perl6` hash-tag, unless the post is actually about the renaming process or historical matters. Of course, the same applies to more official social media usage by the core From e0185a4a788621c15ff1e55c1b14cdf835b83ef7 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Sat, 21 Sep 2019 09:50:49 +0200 Subject: [PATCH 71/82] Settle on .raku / .rakumod / .rakudoc / .rakutest --- solutions/language/PATH-TO-RAKU.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 1613b42..624ff64 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -142,16 +142,18 @@ be symlinks. If at all technically possible, running a script using the ### Extensions -The matter of file extensions will be decided as a separate issue / PR. - -Suggestions for that issue: the extension `.rk` for scripts, `.rkm` for -modules, and `.rd` for documentation (POD6) to become the defacto standards -for files containing `Raku` code or documentation. The old `.pm`, `.pm6` and -`.pod6` extensions will continue to be supported for 6.e. In 6.f, the `.pm`, -`.pm6` and `.pod6` extensions could be marked as DEPRECATED, causing a message -to be generated when the module is loaded. - -On Windows, installers should add a `.rk` association alongside the `.p6` +The extension `.raku` for scripts, `.rakumod` for modules, and `.rakudoc` +for documentation (POD6) to become the defacto standards for files containing +`Raku` code or documentation. The old `.pm`, `.pm6` and `.pod6` extensions +will continue to be supported for 6.e. In 6.f, the `.pm`, `.pm6` and `.pod6` +extensions could be marked as DEPRECATED, causing a message to be generated +when the module is loaded. + +For testing, the extension `.rakutest` should be used, while the old `.t` +extension will continue to be supported for 6.e, with deprecation messages +appearing drom 6.f onward. + +On Windows, installers should add a `.raku` association alongside the `.p6` association for the time being. Around the time of 6.f, a `.p6` association could be deselected by default, and perhaps dropped entirely by 6.g. From 9bcb834ec917510fd56cbd2d3703ad946300920b Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Sat, 21 Sep 2019 09:58:48 +0200 Subject: [PATCH 72/82] Added "no longer linked to *good* reputation of Perl as weakness --- solutions/language/SWOT-TO-RAKU.md | 1 + 1 file changed, 1 insertion(+) diff --git a/solutions/language/SWOT-TO-RAKU.md b/solutions/language/SWOT-TO-RAKU.md index 4b8174d..8c26b3a 100644 --- a/solutions/language/SWOT-TO-RAKU.md +++ b/solutions/language/SWOT-TO-RAKU.md @@ -15,6 +15,7 @@ - will *still* be linked to "Perl" because of historical connection - Perl 6 books will not know of name change, and thus continue to "squat" - Perl 6 blog posts will not know of name change, and thus continue to "squat" +- no longer linked to good reputation of "Perl" - may be hard to find using search engines, at least initially - must start with TIOBE rating from scratch - in social media, #raku as a tag is overloaded with Japanese pottery meaning From 69786a25f2cef3895204c5f8493dba0a02ce4be5 Mon Sep 17 00:00:00 2001 From: Elizabeth Mattijsen Date: Sat, 21 Sep 2019 12:35:55 +0200 Subject: [PATCH 73/82] Fix typo --- solutions/language/PATH-TO-RAKU.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 624ff64..5e3fbfb 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -151,7 +151,7 @@ when the module is loaded. For testing, the extension `.rakutest` should be used, while the old `.t` extension will continue to be supported for 6.e, with deprecation messages -appearing drom 6.f onward. +appearing from 6.f onward. On Windows, installers should add a `.raku` association alongside the `.p6` association for the time being. Around the time of 6.f, a `.p6` association From 0de1d74e16c5f11517bb7ac5c4c3ba7aba27df79 Mon Sep 17 00:00:00 2001 From: Vadim Belman Date: Thu, 26 Sep 2019 15:22:08 -0400 Subject: [PATCH 74/82] Clarify the situation with .t extension After carefully considering @AlexDaniel review, #108, and [some IRC chatting](https://colabti.org/irclogger/irclogger_log/perl6-dev?date=2019-09-26#l179), I would like to propose to remove the part about `.t` deprecation. I do it with a some regret as this proposal would postpone the voting if accepted, but: 1. Tools currently supporting TAP are used to this extension. We can't ask all of them to produce the deprecation message for Raku only. 2. This would allow a user to choose the extension more suitable to the tools he/she is using and even up to his personal preferences. 3. In a way, this conform to TIMTOWTDI. --- solutions/language/PATH-TO-RAKU.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 5e3fbfb..b9f35de 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -149,9 +149,9 @@ will continue to be supported for 6.e. In 6.f, the `.pm`, `.pm6` and `.pod6` extensions could be marked as DEPRECATED, causing a message to be generated when the module is loaded. -For testing, the extension `.rakutest` should be used, while the old `.t` -extension will continue to be supported for 6.e, with deprecation messages -appearing from 6.f onward. +For testing, the extensions `.rakutest` and `.t` should be used, while the +extension `.t6` will continue to be supported for 6.e, with deprecation +messages appearing from 6.f onward. On Windows, installers should add a `.raku` association alongside the `.p6` association for the time being. Around the time of 6.f, a `.p6` association From dc7f4512e82c6b7f399177021a4bad266220896c Mon Sep 17 00:00:00 2001 From: Aleks-Daniel Jakimenko-Aleksejev Date: Fri, 27 Sep 2019 18:49:44 +0300 Subject: [PATCH 75/82] Remove accidental markdown --- solutions/language/PATH-TO-RAKU.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index b9f35de..04d9441 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -8,7 +8,7 @@ cooperation. It will affect people in foreseen and unforeseen ways. ## Language changes -### .perl +### `.perl` The `.perl` method should be deprecated in 6.f, and removed in 6.g. It should be replaced by a `.raku` method, which will be specified in 6.e @@ -28,7 +28,7 @@ Renaming to `.code` currently clashes with `CallFrame.code`, visually clashes with the `.codes` method, and it being a generic name, probably also clashes with CPAN and DarkPan Perl 6 modules. -### Perl and $*PERL +### `Perl` and `$*PERL` `$*RAKU` and the `Raku` class will be the replacement of `$*PERL` and the `Perl` class, which initially will just be aliases. At a language boundary From 2d57afe177649fca09b3307e4c6afcb10c701c1b Mon Sep 17 00:00:00 2001 From: Aleks-Daniel Jakimenko-Aleksejev Date: Fri, 27 Sep 2019 18:51:18 +0300 Subject: [PATCH 76/82] =?UTF-8?q?Replace=20the=20mention=20of=20=E2=80=9CD?= =?UTF-8?q?arkPan=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- solutions/language/PATH-TO-RAKU.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 04d9441..285816b 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -26,7 +26,7 @@ warning also. Renaming to `.code` currently clashes with `CallFrame.code`, visually clashes with the `.codes` method, and it being a generic name, probably also clashes -with CPAN and DarkPan Perl 6 modules. +with modules and other code that exists in the wild. ### `Perl` and `$*PERL` From 51890ebe26d1f3693f2cc33d4709e6545acbc268 Mon Sep 17 00:00:00 2001 From: Aleks-Daniel Jakimenko-Aleksejev Date: Fri, 27 Sep 2019 19:52:46 +0300 Subject: [PATCH 77/82] Minor fixes --- solutions/language/PATH-TO-RAKU.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 285816b..042da45 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -28,7 +28,7 @@ Renaming to `.code` currently clashes with `CallFrame.code`, visually clashes with the `.codes` method, and it being a generic name, probably also clashes with modules and other code that exists in the wild. -### `Perl` and `$*PERL` +### `$*PERL` and `Perl` `$*RAKU` and the `Raku` class will be the replacement of `$*PERL` and the `Perl` class, which initially will just be aliases. At a language boundary @@ -241,7 +241,7 @@ social media. ## Effects on books Currently printed copies of books will probably need a sticker like "Covers -the new exciting Raku programming language). +the new exciting Raku programming language". Perl 6 books that have been open sourced, can be adapted by the community or the original author: a "Migration Guide for Book Authors" should help authors From 4cad6d4da0d4d619b5ae7c9dcee7256293bbcc68 Mon Sep 17 00:00:00 2001 From: Aleks-Daniel Jakimenko-Aleksejev Date: Sat, 28 Sep 2019 09:46:12 +0300 Subject: [PATCH 78/82] Expand a bit on .t support Added more info on how editors should add support for extensions raku test extensions. Based on these conversations: * https://github.com/perl6/problem-solving/pull/109 * https://github.com/perl6/problem-solving/issues/108#issuecomment-534936726 Please tweak if my understanding is incorrect. --- solutions/language/PATH-TO-RAKU.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 042da45..24439b6 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -153,6 +153,14 @@ For testing, the extensions `.rakutest` and `.t` should be used, while the extension `.t6` will continue to be supported for 6.e, with deprecation messages appearing from 6.f onward. +Tools and editors should support both `.rakutest` and `.t` extensions. `.t` +extension is shared by other languages, so editors that can interpret +shebangs or have other heuristics should use these means to +disambiguate raku `.t` files from test files written in other +languages. Editors and tools that are raku-oriented (like Comma, zef, +etc.) should assume that `.t` files without a shebang are Raku test +files. + On Windows, installers should add a `.raku` association alongside the `.p6` association for the time being. Around the time of 6.f, a `.p6` association could be deselected by default, and perhaps dropped entirely by 6.g. From 71e94058caba8ecb87562bc189943c356dd088d9 Mon Sep 17 00:00:00 2001 From: Aleks-Daniel Jakimenko-Aleksejev Date: Sat, 28 Sep 2019 09:53:23 +0300 Subject: [PATCH 79/82] Add some examples of filenames For me personally it's easier when I see some actual examples. --- solutions/language/PATH-TO-RAKU.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 24439b6..03cc1ea 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -165,6 +165,14 @@ On Windows, installers should add a `.raku` association alongside the `.p6` association for the time being. Around the time of 6.f, a `.p6` association could be deselected by default, and perhaps dropped entirely by 6.g. +Here are some examples of filenames with new extensions: +* `Set.rakumod` +* `HyperSeq.rakumod` +* `ThreadPoolScheduler.rakumod` +* `ForClass.rakumod` +* `ForClass.rakudoc` +* `01-basic.rakutest` + ### Testing Roast continues to be the specification of the language. Only the name From 7257d5e3d271cc5e356d0e27daa3ba9b3aa04275 Mon Sep 17 00:00:00 2001 From: Aleks-Daniel Jakimenko-Aleksejev Date: Sat, 28 Sep 2019 09:55:40 +0300 Subject: [PATCH 80/82] Mention that the chosen extensions are final Based on https://github.com/perl6/problem-solving/issues/108#issuecomment-534785507 > I can say that problem-solving issues that attempt to revisit > decisions made in the renaming PR will need to make a very > compelling case to avoid being dismissed out of hand. Moreover, inclusion of extensions in the PR was done with the idea that tools will only have to add new extensions once. --- solutions/language/PATH-TO-RAKU.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 03cc1ea..7b98224 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -173,6 +173,10 @@ Here are some examples of filenames with new extensions: * `ForClass.rakudoc` * `01-basic.rakutest` +There won't be any additional changes to extensions in the near +future. That is, no alternatives (like shorter variants) will be +supported, and the extensions mentioned in this document are final. + ### Testing Roast continues to be the specification of the language. Only the name From e09f6c2857e1eabb9febf79798dc7d48861a92cd Mon Sep 17 00:00:00 2001 From: Aleks-Daniel Jakimenko-Aleksejev Date: Sat, 28 Sep 2019 10:06:51 +0300 Subject: [PATCH 81/82] Add some basic reason why not use shorter extensions Surely one can expand it even more, but that's enough for me. --- solutions/language/PATH-TO-RAKU.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index 7b98224..da55a06 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -173,6 +173,11 @@ Here are some examples of filenames with new extensions: * `ForClass.rakudoc` * `01-basic.rakutest` +Shorter extensions were considered but no good candidates were +found. For example, `.rk*` cannot be used because of their unfortunate +similarity to Racket language file extensions (which uses `.rkt`) and +other direct conflicts with various formats. + There won't be any additional changes to extensions in the near future. That is, no alternatives (like shorter variants) will be supported, and the extensions mentioned in this document are final. From 2d7b3f5a85ae9c8f913ba16994836ed59cf6de50 Mon Sep 17 00:00:00 2001 From: Aleks-Daniel Jakimenko-Aleksejev Date: Sat, 28 Sep 2019 10:08:07 +0300 Subject: [PATCH 82/82] Be less specific about module loading I'm not sure what's the exact idea behind that sentence, but for example I wouldn't want to see deprecation messages any time I run code that uses some commonly used but unmaintained module. I think this can be ironed out later. --- solutions/language/PATH-TO-RAKU.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solutions/language/PATH-TO-RAKU.md b/solutions/language/PATH-TO-RAKU.md index da55a06..265d5a6 100644 --- a/solutions/language/PATH-TO-RAKU.md +++ b/solutions/language/PATH-TO-RAKU.md @@ -147,7 +147,7 @@ for documentation (POD6) to become the defacto standards for files containing `Raku` code or documentation. The old `.pm`, `.pm6` and `.pod6` extensions will continue to be supported for 6.e. In 6.f, the `.pm`, `.pm6` and `.pod6` extensions could be marked as DEPRECATED, causing a message to be generated -when the module is loaded. +when possible. For testing, the extensions `.rakutest` and `.t` should be used, while the extension `.t6` will continue to be supported for 6.e, with deprecation