The February 2013 release of “Rakudo Star” henceforth available for developers
Available here , in this release we discover that developers have made a distinction between the language (“Perl 6″) and specific implementations of the language such as “Rakudo Perl”.
Therefore the Star release
includes release
2013.02.1 of the Rakudo Perl 6 compiler, version 4.10.0 of the Parrot Virtual Machine, and various modules,
documentation, and other
resources collected from the Perl 6 community.
Now new major include:
- “Did you mean …” suggestions for symbol-not-found errors
- Compile-time optimization of some cases of junctions in boolean context
- IO::Socket.get now works again with non-ASCII characters
- constant folding for routines marked as ‘is pure’
- natively typed variables and better error reporting in the REPL
- speed up eqv-comparison of Bufs
- warnings for useless use of (some) literals, variables and constant expressions in sink context
As features that have been
deprecated or modified from previous
releases due to changes in the Perl 6 specification, and are being removed
or changed as follows, we have:
releases due to changes in the Perl 6 specification, and are being removed
or changed as follows, we have:
- .gist on a type object will return ‘(Typename)’ instead of ‘Typename()’. If you want to get the class name alone, continue to use $obj.^name
- postcircumfix:<[ ]> and postcircumfix:<{ }> will become multi-subs rather than multi-methods. Both at_pos and at_key will remain methods.
- Unary hyper ops currently descend into nested arrays and hashes. This will change to make them equivalent to a one-level map.
- The Str.ucfirst builtin is deprecated; it will be replaced by Str.tc.
- Leading whitespace in rules and under :sigspace will no longer be converted to <.ws> . For existing regexes that expect this conversion, add a <?> in front of leading whitespace to make it meta again.
- 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 will 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.
However we have also key
features of Perl 6 that Rakudo Star does not
yet handle appropriately:
yet handle appropriately:
- advanced macros
- threads and concurrency
- Unicode strings at levels other than codepoints
- interactive readline that understands Unicode
- non-blocking I/O
- much of Synopsis 9