in reply to Perl 6: Managing breakages across Rakudo Star versions
(updated to use code tag instead of pre tag per message from jdporter)
The rakudo.org compiler release announcement for July 2012 is out. It includes this section that reflects what this meditation was (supposed to be) about:
Starting with this release, we will also identify changes to the imple
+mentation or specification that can cause breakages in existing Perl
+6 code. The following features have been deprecated or modified due t
+o changes in the Perl 6 specification, and are being removed or chang
+ed as follows:
* IO::File and IO::Dir will go away, and &dir now returns values of ty
+pe IO::Path (which is currently the superclass of IO::File and IO::Di
+r). The return values of &dir will still stringify to the base name o
+f the returned file and directory names, and you can call .path on th
+em to obtain the full path.
* Leading whitespace in rules and under :sigspace will no longer be co
+nverted to <.ws>. For existing regexes that expect this conversion, a
+dd a <?> in front of leading whitespace to make it meta again. Schedu
+led for the 2012.08 release.
* The ?-quantifier on captures in regexes currently binds the capture
+slot to a List containing either zero or one Match objects; i.e., it
+is equivalent to “** 0..1″. In the future, the ?-quantifier wil
+l bind the slot directly to a captured Match or to Nil. Existing code
+ can manage the transition by changing existing ?-quantifiers to use
+“** 0..1″, which will continue to return a List of matches. Sch
+eduled for the 2012.08 release, but may end up in 2012.09 .
* The method Str.bytes will be removed. To get the number of codepoint
+s in a string, use .codes instead. To get the number of bytes in a gi
+ven encoding, use $str.encode($encoding).bytes . Scheduled for the 20
* The method Str.lcfirst will be removed without replacement. Schedule
+d for the 2012.08 release.
* The method Str.ucfirst will eventually be removed, and replaced by S
+tr.tc. No schedule yet, depends on having tc implemented first.
* ‘abs’ is currently a prefix operator, and will be changed to a norma
+l subroutine. Scheduled for the 2012.08 release.
* The integer argument to IO::Socket.recv will be interpreted as numbe
+r of characters/codepoints. Scheduled for the 2012.08 release.
Constructive feedback would probably best be directed to the #perl6 IRC channel on freenode, or the p6c mailing list.