in reply to
Perl 6: Managing breakages across Rakudo Star versions
(updated to use code tag instead of pre tag per message from jdporter)
An update:
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
+12.08 release.
* 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.