http://www.perlmonks.org?node_id=984305


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&#8243;. 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&#8243;, 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.