Commit
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.- Loading branch information
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -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`. | ||
This comment was marked as outdated.
Sorry, something went wrong.
This comment was marked as outdated.
Sorry, something went wrong.
nxadm
|
||
|
|
||
| ## 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. | ||
|
|
||
This comment was marked as outdated.
Sorry, something went wrong.
JJ
Contributor
|
||
| ## 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. | ||
|
|
||
This comment was marked as outdated.
Sorry, something went wrong.
JJ
Contributor
|
||
| ## 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). | ||
|
|
||
This comment was marked as outdated.
Sorry, something went wrong.
JJ
Contributor
|
||
| ### Executables | ||
|
|
||
| As some packagers have already done, the executable should be called `raku`. | ||
This comment was marked as outdated.
Sorry, something went wrong.
vrurg
Contributor
|
||
| 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 | ||
This comment was marked as outdated.
Sorry, something went wrong.
vrurg
Contributor
|
||
| 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 | ||
This comment was marked as outdated.
Sorry, something went wrong.
AlexDaniel
Member
|
||
| 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. | ||
This comment was marked as outdated.
Sorry, something went wrong. |
||
|
|
||
| ## 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`. | ||
This comment was marked as outdated.
Sorry, something went wrong.
This comment was marked as outdated.
Sorry, something went wrong.
JJ
Contributor
|
||
|
|
||
| ## 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" | ||
This comment was marked as outdated.
Sorry, something went wrong. |
||
| 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. | ||
|
|
||
This comment was marked as outdated.
Sorry, something went wrong.
taboege
Member
|
||
| ## 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. | ||
This comment was marked as resolved.
Sorry, something went wrong.
dwright
|
||
|
|
||
| Should The Perl Foundation decide to not want to have anything to do with | ||
| `Raku`, only then should an alternate organisational support be discussed. | ||
14 comments
on commit 07c423e
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's not clog this commit with extra discussion. Any versioning questions – #88, please! Thanks you!
The
.codemethod already exists in some classes (e.g.CallFrame) and could conceivably be used in modules. Why not rename.perl(print this so that perl6 instands it) to.raku(print this so that raku understands it)? I see no reason not to, except that we're not yet used to it referring to a language :-)