After admitting that I had a problem, I decided that perhaps it would be good to take one single application and just beat it into submission, making it run on Rakudo master.
I chose GGE. That was a mistake, but perhaps a positive one.
GGE is big, and has many tests, 750 of them. Running through them all takes almost 40 minutes. (The first "G" in GGE stands for "Glacial".) I keep thinking of GGE is "the biggest Perl 6 application out there", even though it's probably not that big, just fairly complex and well-tested. The mistake was attacking GGE first, and not something smaller.
The way the mistake might turn out to be a positive one is that I'll probably feel that converting other applications from alpha to master is relatively painless. 哈哈
Here's a summary of things to think about, if you're planning to port your Perl 6 application from alpha to master:
"@lol". I found a lot of cases where I "cheated" and used symbols which weren't magical in alpha, but which are now. Beware.
is alsois now
augment, and requires
subs in your class, chances are you'll need to
undefis gone. You probably meant
postcircumfix:<( )>, remember that Rakudo master now requires the parameter list to consist of just a single Capture parameter. In practice, that means another layer of parentheses compared to alpha.
whenblocks is now called
.pick, you'll need to work around for the time being. (And re-read the spec.)
<->syntax for pointy blocks is no longer implemented.
is copysemantics? Well, it won't work. Sorry.
Str.substworks, but using
$_in a closure in its second argument doesn't.
pir::clone, or they won't close properly around their surrounding environments.
"\e"doesn't work at the moment. Use
Arraybecause, well, it's shorter and more inclusive... that won't work now.
Arrayno longer subclasses
It took two months of leisurely refactoring and debugging to bring GGE through the needle's eye. But I must confess that it was pretty sweet to subsequently rid it of all of alpha's workarounds. Clearly a net win.