Rakudo Star Release 2014.03

Announce: Rakudo Star Release 2014.03

A useful, usable, “early adopter” distribution of Perl 6

On behalf of the Rakudo and Perl 6 development teams, I’m happy to
announce the March 2014 release of “Rakudo Star”, a useful and usable
distribution of Perl 6. The tarball for the March 2014 release is
available from http://rakudo.org/downloads/star/. A Windows .MSI
version of Rakudo star is also available at that location.

In the Perl 6 world, we make a distinction between the language
(“Perl 6″) and specific implementations of the language such as
“Rakudo Perl”. This Star release includes [release 2014.03] of the
[Rakudo Perl 6 compiler], version 6.1.0 of the [Parrot Virtual
Machine], plus various modules, documentation, and other resources
collected from the Perl 6 community.

[release 2014.03]:
https://github.com/rakudo/rakudo/blob/nom/docs/announce/2014.03.md
[Rakudo Perl 6 compiler]: http://github.com/rakudo/rakudo
[Parrot Virtual Machine]: http://parrot.org

Some of the new features added to this release include:

  • The core of Rakudo::Debugger is now part of Rakudo itself and works across all backends.
  • “make” no longer itemizes its arguments.
  • for-loops at the statementlist level are now sunk by default.
  • better parsing of unspaces and formatting codes inside Pod blocks.
  • Fix for for-loops to be properly lazy
  • Numerous Pod parsing and formatting improvements
  • @ as shortcut for @$, % as shortcut for %$
  • list infix reductions no longer flatten
  • Numerous compiler suggestion improvements

Please note that this release of Rakudo Star does not support the JVM
nor the MoarVM backends from the Rakudo compiler. While the other backends
mostly implement the same features as the Parrot backend, some bits are
still missing that lead to module build problems or test failures.
We hope to provide experimental JVM-based and MoarVM-based Rakudo Star
releases in April 2014.

There are some key features of Perl 6 that Rakudo Star does not yet
handle appropriately, although they will appear in upcoming releases.
Some of the not-quite-there features include:

  • advanced macros
  • threads and concurrency (in work for the JVM and MoarVM backend)
  • Unicode strings at levels other than codepoints
  • interactive readline that understands Unicode
  • non-blocking I/O
  • much of Synopsis 9 and 11

There is an online resource at http://perl6.org/compilers/features
that lists the known implemented and missing features of Rakudo and
other Perl 6 implementations.

In many places we’ve tried to make Rakudo smart enough to inform the
programmer that a given feature isn’t implemented, but there are many
that we’ve missed. Bug reports about missing and broken features are
welcomed at rakudobug@perl.org.

See http://perl6.org/ for links to much more information about
Perl 6, including documentation, example code, tutorials, reference
materials, specification documents, and other supporting resources. A
draft of a Perl 6 book is available as docs/UsingPerl6-draft.pdf in
the release tarball.

The development team thanks all of the contributors and sponsors for
making Rakudo Star possible. If you would like to contribute, see
http://rakudo.org/how-to-help, ask on the perl6-compiler@perl.org mailing list, or join us on IRC #perl6 on freenode.

Posted in announce | Leave a comment

Rakudo Star 2014.01 released

Announce: Rakudo Star Release 2014.01

A useful, usable, “early adopter” distribution of Perl 6

On behalf of the Rakudo and Perl 6 development teams, I’m happy to
announce the January 2014 release of “Rakudo Star”, a useful and usable
distribution of Perl 6. The tarball for the January 2014 release is
available from http://rakudo.org/downloads/star/. A Windows .MSI
version of Rakudo star is available in the downloads area as well.

In the Perl 6 world, we make a distinction between the language
(“Perl 6″) and specific implementations of the language such as
“Rakudo Perl”. This Star release includes release 2014.01 of the
Rakudo Perl 6 compiler, version 5.9.0 of the Parrot Virtual
Machine
, plus various modules, documentation, and other resources
collected from the Perl 6 community.

https://github.com/rakudo/rakudo/blob/nom/docs/announce/2014.01.md

Some of the new features added to this release include:

  • The eval sub and method are now spelled EVAL
  • Numeric.narrow to coerce to narrowest type possible
  • Can now supply blocks with multiple arguments as sequence endpoints
  • Method calls and hash/list access on Nil give Nil

This release also contains a range of bug fixes, improvements to error
reporting and better failure modes.

Please note that this release of Rakudo Star does not support the JVM
nor the MoarVM backends from the Rakudo compiler. While the other backends
mostly implement the same features as the Parrot backend, many bits are
still missing, most prominently the native call interface.
We hope to provide a JVM-based and MoarVM-based Rakudo Star releases soon.

There are some key features of Perl 6 that Rakudo Star does not yet
handle appropriately, although they will appear in upcoming releases.
Some of the not-quite-there features include:

  • advanced macros
  • threads and concurrency (in work for the JVM backend)
  • Unicode strings at levels other than codepoints
  • interactive readline that understands Unicode
  • non-blocking I/O
  • much of Synopsis 9 and 11

There is an online resource at http://perl6.org/compilers/features
that lists the known implemented and missing features of Rakudo and
other Perl 6 implementations.

In many places we’ve tried to make Rakudo smart enough to inform the
programmer that a given feature isn’t implemented, but there are many
that we’ve missed. Bug reports about missing and broken features are
welcomed at rakudobug@perl.org.

See http://perl6.org/ for links to much more information about
Perl 6, including documentation, example code, tutorials, reference
materials, specification documents, and other supporting resources. A
draft of a Perl 6 book is available as docs/UsingPerl6-draft.pdf in
the release tarball.

The development team thanks all of the contributors and sponsors for
making Rakudo Star possible. If you would like to contribute, see
http://rakudo.org/how-to-help, ask on the perl6-compiler@perl.org
mailing list, or join us on IRC #perl6 on freenode.

Posted in announce | Leave a comment

Rakudo Star 2013.12 released

On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the December 2013 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball for the December 2013 release is available from http://rakudo.org/downloads/star/. A Windows .MSI version of Rakudo star will usually appear in the downloads area shortly after the tarball release.

In the Perl 6 world, we make a distinction between the language (“Perl 6″) and specific implementations of the language such as “Rakudo Perl”. This Star release includes release 2013.12 of the Rakudo Perl 6 compiler, version 5.9.0 of the Parrot Virtual Machine, plus various modules, documentation, and other resources collected from the Perl 6 community.

Some of the new features added to this release include:

  • The Whatever Star (*) now works inside chain operators like comparisons.
  • Private attributes from roles are now visible in the classes they apply to.
  • Memory and speed improvements for ListIter and List.combinations, respectively.
  • Improvements to the execution of regexes.

This release also contains a range of bug fixes, improvements to error
reporting and better failure modes.

Please note that this release of Rakudo Star does not support the JVM
backend from the Rakudo compiler. While the JVM backend mostly implements
the same features as the Parrot backend, many bits are still missing,
most prominently the native call interface.
We hope to provide a JVM-based Rakudo Star release soon.

The following notable features have been deprecated or modified from previous
releases due to changes in the Perl 6 specification, and are planned to be
removed or changed as follows:

  • All unary hyper ops currently descend into nested arrays and hashes. In the future, those operators and methods that are defined “nodal” will behave like a one-level map.

There are some key features of Perl 6 that Rakudo Star does not yet
handle appropriately, although they will appear in upcoming releases.
Some of the not-quite-there features include:

  • advanced macros
  • threads and concurrency (in work for the JVM backend)
  • Unicode strings at levels other than codepoints
  • interactive readline that understands Unicode
  • non-blocking I/O
  • much of Synopsis 9 and 11

There is an online resource at http://perl6.org/compilers/features that lists the known implemented and missing features of Rakudo and
other Perl 6 implementations.

In many places we’ve tried to make Rakudo smart enough to inform the programmer that a given feature isn’t implemented, but there are many that we’ve missed. Bug reports about missing and broken features are welcomed at rakudobug@perl.org.

See http://perl6.org/ for links to much more information about Perl 6, including documentation, example code, tutorials, reference materials, specification documents, and other supporting resources. A draft of a Perl 6 book is available as docs/UsingPerl6-draft.pdf in the release tarball.

The development team thanks all of the contributors and sponsors for making Rakudo Star possible. If you would like to contribute, see http://rakudo.org/how-to-help, ask on the perl6-compiler@perl.org mailing list, or join us on IRC #perl6 on freenode.

Posted in Uncategorized | Leave a comment

Rakudo Star 2013.11 released

On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the November 2013 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball for the November 2013 release is available from http://rakudo.org/downloads/star/. A Windows .MSI version of Rakudo star will usually appear in the downloads area shortly after the tarball release.

In the Perl 6 world, we make a distinction between the language (“Perl 6″) and specific implementations of the language such as “Rakudo Perl”. This Star release includes release 2013.11 of the Rakudo Perl 6 compiler, version 5.9.0 of the Parrot Virtual Machine, plus various modules, documentation, and other resources collected from the Perl 6 community.

Some of the new features added to this release include:

  • Order::Increase/Decrease are deprecated. Please use Order::Less/More.
  • Leading whitespace is ignored for :sigspace
  • Better null pattern detection in regexes
  • improved run()/shell(), these return Proc::Status-objects now
  • The “gethostname” function implemented
  • Performance optimization: unfold junctions in ‘when’ clauses

This release also contains a range of bug fixes, improvements to error reporting and better failure modes.

Please note that this release of Rakudo Star does not support the JVM backend from the Rakudo compiler. While the JVM backend mostly implements the same features as the Parrot backend, many bits are still missing, most prominently the native call interface. We hope to provide a JVM-based Rakudo Star release soon.

The following notable features have been deprecated or modified from previous releases due to changes in the Perl 6 specification, and are planned to be removed or changed as follows:

  • All unary hyper ops currently descend into nested arrays and hashes. In the future, those operators and methods that are defined “nodal” will behave like a one-level map.

There are some key features of Perl 6 that Rakudo Star does not yet handle appropriately, although they will appear in upcoming releases. Some of the not-quite-there features include:

  • advanced macros
  • threads and concurrency (in work for the JVM backend)
  • Unicode strings at levels other than codepoints
  • interactive readline that understands Unicode
  • non-blocking I/O
  • much of Synopsis 9 and 11

There is an online resource at http://perl6.org/compilers/features that lists the known implemented and missing features of Rakudo and other Perl 6 implementations.

In many places we’ve tried to make Rakudo smart enough to inform the programmer that a given feature isn’t implemented, but there are many that we’ve missed. Bug reports about missing and broken features are welcomed at rakudobug@perl.org.

See http://perl6.org/ for links to much more information about Perl 6, including documentation, example code, tutorials, reference materials, specification documents, and other supporting resources. A draft of a Perl 6 book is available as docs/UsingPerl6-draft.pdf in the release tarball.

The development team thanks all of the contributors and sponsors for making Rakudo Star possible. If you would like to contribute, see http://rakudo.org/how-to-help, ask on the perl6-compiler@perl.org mailing list, or join us on IRC #perl6 on freenode.

Posted in announce | Leave a comment

Rakudo Star 2013.10 released

On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the October 2013 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball for the October 2013 release is available from http://rakudo.org/downloads/star/. A Windows .MSI version of Rakudo star will usually appear in the downloads area shortly after the tarball release.

In the Perl 6 world, we make a distinction between the language (“Perl 6″) and specific implementations of the language such as “Rakudo Perl”. This Star release includes release 2013.10 of the Rakudo Perl 6 compiler, version 5.9.0 of the Parrot Virtual Machine, plus various modules, documentation, and other resources collected from the Perl 6 community.

Some of the new features added to this release include:

  • postcircumfix {} and [] are now implemented as multi subs rather than multi methods.
  • Add support for “is DEPRECATED”, making it easy for early adopters to stay current.
  • Track multiple spec changes for various container classes.
  • Greatly reduce object creation during Regex parsing.
  • Various portability fixes.
  • qx// and run() now auto-quote correctly.
  • Allow #`[...]-style comments in regexes.
  • unlink() behaves like P5′s, it deletes write-protected files on Windows.

This release also contains a range of bug fixes, improvements to error reporting and better failure modes.

Please note that this release of Rakudo Star does not support the JVM backend from the Rakudo compiler. While the JVM backend mostly implements the same features as the Parrot backend, many bits are still missing, most prominently the native call interface. We hope to provide a JVM-based Rakudo Star release soon.

The following notable features have been deprecated or modified from previous releases due to changes in the Perl 6 specification, and are planned to be removed or changed as follows:

  • postcircumfix:<[ ]> and postcircumfix:<{ }> are now multi-subs rather than multi-methods. Both at_pos and at_key remain as methods.

  • All unary hyper ops currently descend into nested arrays and hashes. In the future, those operators and methods that are defined “nodal” will behave like a one-level map.

  • The Str.ucfirst builtin is deprecated; it will be replaced by Str.tc. In this Rakudo Star release, use of Str.ucfirst will actually generate a warning upon first usage.

  • In the next release, leading whitespace in rules and under :sigspace will no longer be converted to <.ws>. For existing regexes that expect this conversion now and in the future, add a <?> in front of leading whitespace to replicate the old behavior. (Adding <?> today will have no adverse effects on your code.)

There are some key features of Perl 6 that Rakudo Star does not yet
handle appropriately, although they will appear in upcoming releases.
Some of the not-quite-there features include:

  • 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 and 11

We are also aware of these issues in the current release, which will be dealt with in a future relase:

  • Whatever-currying of *<>, *{}, and *[] is currently broken.

  • You may experience some test failures running the rakudo spectest. S16-filehandles/filestat.t will fail if you have Rakudo Star on a drive that does not record access times. S05-mass/charsets.rakudo.parrot will fail due to the tests being outdated.

There is an online resource at http://perl6.org/compilers/features that lists the known implemented and missing features of Rakudo and other Perl 6 implementations.

In many places we’ve tried to make Rakudo smart enough to inform the
programmer that a given feature isn’t implemented, but there are many
that we’ve missed. Bug reports about missing and broken features are
welcomed at rakudobug@perl.org.

See http://perl6.org/ for links to much more information about Perl 6, including documentation, example code, tutorials, reference materials, specification documents, and other supporting resources. A draft of a Perl 6 book is available as docs/UsingPerl6-draft.pdf in
the release tarball.

The development team thanks all of the contributors and sponsors for
making Rakudo Star possible. If you would like to contribute, see
http://rakudo.org/how-to-help, ask on the perl6-compiler@perl.org/a> mailing list, or join us on IRC #perl6 on freenode.

Posted in announce | Leave a comment

Rakudo Star 2013.09 released

On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the September 2013 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball for the September 2013 release is available from http://rakudo.org/downloads/star/. A Windows .MSI version of Rakudo star will usually appear in the downloads area shortly after the tarball release.

In the Perl 6 world, we make a distinction between the language (“Perl 6″) and specific implementations of the language such as “Rakudo Perl”. This Star release includes release 2013.09 of the Rakudo Perl 6 compiler, version 5.5.0 of the Parrot Virtual Machine, plus various modules, documentation, and other resources collected from the Perl 6 community.

Some of the new features added to this release include:

  • candidate argument to bless removed (per spec change)
  • @a.VAR.name and %h.VAR.name implemented
  • The $var.++ and $var.() syntaxes work
  • basics of tr/// implemented
  • Sets/Bags/KeySet/KeyBag now up to spec, except for the empty set symbol ‘∅’

This release also contains a range of bug fixes, improvements to error reporting and better failure modes.

Please note that this release of Rakudo Star does not support the JVM backend from the Rakudo compiler. While the JVM backend mostly implements the same features as the Parrot backend, many bits are still missing, most prominently the native call interface. We hope to provide a JVM-based Rakudo Star release soon.

The following features have been deprecated or modified from previous releases due to changes in the Perl 6 specification, and are planned to be removed or changed as follows:

  • postcircumfix:<[ ]> and postcircumfix:<{ }> will become
    multi-subs rather than multi-methods IN THE NEXT RELEASE of Rakudo
    Star. Both at_pos and at_key will remain methods.

  • All unary hyper ops currently descend into nested arrays and
    hashes. In the future, those operators and methods that are
    defined “nodal” will behave like a one-level map.

  • The Str.ucfirst builtin is deprecated; it will be replaced by
    Str.tc. In the next Rakudo Star release, use of Str.ucfirst will actually
    generate a warning upon first usage.

  • 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.

There are some key features of Perl 6 that Rakudo Star does not yet handle appropriately, although they will appear in upcoming releases. Some of the not-quite-there features include:

  • 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 and 11

There is an online resource at http://perl6.org/compilers/features that lists the known implemented and missing features of Rakudo and other Perl 6 implementations.

In many places we’ve tried to make Rakudo smart enough to inform the programmer that a given feature isn’t implemented, but there are many that we’ve missed. Bug reports about missing and broken features are welcomed at rakudobug@perl.org.

See http://perl6.org/ for links to much more information about Perl 6, including documentation, example code, tutorials, reference materials, specification documents, and other supporting resources. A draft of a Perl 6 book is available as docs/UsingPerl6-draft.pdf in the release tarball.

The development team thanks all of the contributors and sponsors for making Rakudo Star possible. If you would like to contribute, see http://rakudo.org/how-to-help, ask on the perl6-compiler@perl.org mailing list, or join us on IRC #perl6 on freenode.

Posted in Uncategorized | Tagged , | Leave a comment

Rakudo Star 2013.08 released

On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the August 2013 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball for the August 2013 release is available from http://rakudo.org/downloads/star/. A Windows .MSI version of Rakudo star will usually appear in the downloads area shortly after the tarball release.

In the Perl 6 world, we make a distinction between the language (“Perl 6″) and specific implementations of the language such as “Rakudo Perl”. This Star release includes release 2013.08 of the Rakudo Perl 6 compiler, version 5.5.0 of the Parrot Virtual Machine, plus various modules, documentation, and other resources collected from the Perl 6 community.

Some of the new features added to this release include:

  • is default traits on variables are now implemented
  • assigning Nil restores the default value
  • Buf is now a role, and Buf objects are immutable.
  • printf now correctly handles big integers
  • fixed handling of indented heredocs
  • dir() is now lazy

This release also contains a range of bug fixes, improvements to error reporting and better failure modes.

Please note that this release of Rakudo Star does not support the JVM backend from the Rakudo compiler. While the JVM backend mostly implements the same features as the Parrot backend, many small IO bits are still missing, rendering some crucial parts like the module installer unsable. We hope to provide a JVM-based Rakudo Star release soon.

The following features have been deprecated or modified from previous releases due to changes in the Perl 6 specification, and are planned to be removed or changed as follows:

  • postcircumfix:<[ ]> and postcircumfix:<{ }> will become multi-subs rather than multi-methods. Both at_pos and at_key will remain methods.

  • All unary hyper ops currently descend into nested arrays and hashes. In the future, those operators and methods that are defined “nodal” will behave like 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.

There are some key features of Perl 6 that Rakudo Star does not yet handle appropriately, although they will appear in upcoming releases. Some of the not-quite-there features include:

  • 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

There is an online resource at http://perl6.org/compilers/features that lists the known implemented and missing features of Rakudo and other Perl 6 implementations.

In many places we’ve tried to make Rakudo smart enough to inform the programmer that a given feature isn’t implemented, but there are many that we’ve missed. Bug reports about missing and broken features are welcomed at rakudobug@perl.org.

See http://perl6.org/ for links to much more information about Perl 6, including documentation, example code, tutorials, reference materials, specification documents, and other supporting resources. A draft of a Perl 6 book is available as docs/UsingPerl6-draft.pdf in the release tarball.

The development team thanks all of the contributors and sponsors for making Rakudo Star possible. If you would like to contribute, see http://rakudo.org/how-to-help, ask on the perl6-compiler@perl.org mailing list, or join us on IRC #perl6 on freenode.

Posted in Uncategorized | Leave a comment

Rakudo Star 2013.05 released

On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the May 2013 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball and Windows .MSI for the May 2013 release are available from http://rakudo.org/downloads/star/ .

In the Perl 6 world, we make a distinction between the language (“Perl 6″) and specific implementations of the language such as “Rakudo Perl”. This Star release includes release 2013.05 of the Rakudo Perl 6 compiler, version 5.3.0 of the Parrot Virtual Machine, plus various modules, documentation, and other resources collected from the Perl 6 community.

Some of the new features added to this release include:

  • The ?-quantifier on regex captures now returns a single Match object (formerly returned an array). Use ** 0..1 to get the old behavior.
  • Failed matches return Nil instead of a false Match object.
  • Rakudo warns when pure expressions are used in sink context
  • .substr(…) now correctly accepts whatever-star closures
  • Implemented shellwords postcircumfix (%h<< $x ‘foo bar’ >>)
  • Defining operators spelled like the empty string is now illegal
  • Array interpolations now properly do LTM
  • Autothread “none” and “all” junctions before “any” and “one”
  • Helpful error if you write “else if”/”elif” instead of “elsif”
  • Throw exception if a Range is used as a Range endpoint
  • Corrected argument order in IO.seek
  • wrap low level VM objects in ForeignCode, allowing perl6 OO calls on them
  • for loops are eager again
  • add link and symlink to IO
  • add Capture.Bool()
  • improvements to DUMP()
  • various optimizations in the optimizer and the runtime
  • smartmatch against list now supports Whatever wildcards
  • IO::Spec, a port of Perl 5′s File::Spec
  • regex special characters can be used as delimiters
  • allow slice with :exists adverb on hashes
  • added 125 extra opening/closing bracket-pairs

This release also contains a range of bug fixes, improvements to error reporting and better failure modes.

The following features have been deprecated or modified from previous releases due to changes in the Perl 6 specification, and are planned to be removed or changed as follows:

  • 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 result of failed matches will be Nil instead of a Match object returning boolean False.

There are some key features of Perl 6 that Rakudo Star does not yet handle appropriately, although they will appear in upcoming releases. Some of the not-quite-there features include:

  • 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

There is an online resource at http://perl6.org/compilers/features that lists the known implemented and missing features of Rakudo and other Perl 6 implementations.

In many places we’ve tried to make Rakudo smart enough to inform the programmer that a given feature isn’t implemented, but there are many that we’ve missed. Bug reports about missing and broken features are welcomed at rakudobug@perl.org.

See http://perl6.org/ for links to much more information about Perl 6, including documentation, example code, tutorials, reference materials, specification documents, and other supporting resources. A draft of a Perl 6 book is available as docs/UsingPerl6-draft.pdf in the release tarball.

The development team thanks all of the contributors and sponsors for making Rakudo Star possible. If you would like to contribute, see http://rakudo.org/how-to-help, ask on the perl6-compiler@perl.org mailing list, or join us on IRC #perl6 on freenode.

Posted in announce | Leave a comment

Rakudo Star 2013.02 released

On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the February 2013 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball for the February 2013 release is available from http://rakudo.org/downloads/star/. A Windows .MSI version of Rakudo star will usually appear in the downloads area shortly after the tarball release.

In the Perl 6 world, we make a distinction between the language (“Perl 6″) and specific implementations of the language such as “Rakudo Perl”. This 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.

Some of the new features added to this release 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

This release also contains a range of bug fixes, improvements to error reporting
and better failure modes.

The following features have been deprecated or modified from previous
releases due to changes in the Perl 6 specification, and are being removed
or changed as follows:

  • .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.

There are some key features of Perl 6 that Rakudo Star does not
yet handle appropriately, although they will appear in upcoming
releases. Some of the not-quite-there features include:

  • 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

There is an online resource at http://perl6.org/compilers/features
that lists the known implemented and missing features of Rakudo
and other Perl 6 implementations.

In many places we’ve tried to make Rakudo smart enough to inform the
programmer that a given feature isn’t implemented, but there are
many that we’ve missed. Bug reports about missing and broken
features are welcomed at href="mailto:rakudobug@perl.org">rakudobug@perl.org.

See perl6.org for links to much more information about Perl 6, including documentation, example code, tutorials, reference materials, specification documents, and other supporting resources. A draft of a Perl 6 book is available as in the release tarball.

The development team thanks all of the contributors and sponsors for making Rakudo Star possible. If you would like to contribute, see http://rakudo.org/how-to-help, ask on the perl6-compiler@perl.org mailing list, or join us on IRC #perl6 on freenode.

Posted in announce | Comments Off

Rakudo Star 2013.01 released

On behalf of the Rakudo and Perl 6 development teams, I’m happy to announce the January 2013 release of “Rakudo Star”, a useful and usable distribution of Perl 6. The tarball for the January 2013 release is available from the download page. A Windows .MSI version of Rakudo star will usually appear in the downloads area shortly after the tarball release.

In the Perl 6 world, we make a distinction between the language (“Perl 6″) and specific implementations of the language such as “Rakudo Perl”. This Star release includes release 2013.01 [0] of the Rakudo Perl 6 compiler [1], version 4.10.0 of the Parrot Virtual Machine [2], and various modules, documentation, and other resources collected from the Perl 6 community.

Some of the new features added to this release include:

  • Sink context (what some other languages call void context) is now enforced correctly. This means that for-loops are now lazy by default. It fixes the bug where a map in sink context would not execute, and also means that a Failure returned to sink context will be properly thrown.
  • ‘require’ now works with indirect module names
  • Restored socket read semantics to returning the requested number of bytes
  • $obj.Some::Role::meth() now passes the correct $obj
  • try/CATCH now returns Nil when the CATCH is triggered, rather than the exception; this brings it in line with try without a CATCH
  • whatever-star cases of splice now implemented
  • can now import multis with the same name from different modules, provided all dispatchers are onlystar
  • This release also contains a range of bug fixes, improvements to error reporting
    and better failure modes.

    The following features have been deprecated or modified from previous
    releases due to changes in the Perl 6 specification, and are being removed
    or changed as follows:

    • 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.
    • There are some key features of Perl 6 that Rakudo Star does not
      yet handle appropriately, although they will appear in upcoming
      releases. Some of the not-quite-there features include:

      • 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

      There is an online resource at http://perl6.org/compilers/features
      that lists the known implemented and missing features of Rakudo
      and other Perl 6 implementations.

      In many places we’ve tried to make Rakudo smart enough to inform the
      programmer that a given feature isn’t implemented, but there are
      many that we’ve missed. Bug reports about missing and broken
      features are welcomed at .

      See http://perl6.org/ for links to much more information about
      Perl 6, including documentation, example code, tutorials, reference
      materials, specification documents, and other supporting resources.
      A draft of a Perl 6 book is available as docs/UsingPerl6-draft.pdf
      in the release tarball.

      The development team thanks all of the contributors and sponsors
      for making Rakudo Star possible. If you would like to contribute,
      see http://rakudo.org/how-to-help, ask on the perl6-compiler@perl.org
      mailing list, or join us on IRC #perl6 on freenode.

      [0] https://github.com/rakudo/rakudo/blob/nom/docs/announce/2013.01
      [1] http://github.com/rakudo/rakudo
      [2] http://parrot.org/

Posted in announce | Leave a comment