Re: Announce: Rakudo Star Release 2016.07

2016-07-22 Thread James Ellis Osborne III
That is quite a step forward! Happy 22nd, All!

On Jul 22, 2016 4:01 AM, "Steve Mynott"  wrote:

>
> On behalf of the Rakudo and Perl 6 development teams, I’m pleased to
> announce the July 2016 release of “Rakudo Star”, a useful and usable
> production distribution of Perl 6. The tarball for the July 2016 release is
> available from http://rakudo.org/downloads/star/.
>
> This is the third post-Christmas (production) release of Rakudo Star and
> implements Perl v6.c. It comes with support for the MoarVM backend (all
> module tests pass on supported platforms).
>
> Please note that this release of Rakudo Star is not fully functional with
> the JVM backend from the Rakudo compiler. Please use the MoarVM backend
> only.
>
> 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 2016.07 of the Rakudo Perl 6 compiler,
> version 2016.07 of MoarVM, plus various modules, documentation, and other
> resources collected from the Perl 6 community.
>
> Some of the new compiler features since the last Rakudo Star release
> include:
>
> + Ability to use a customer debugger module
> + The “is-approx” sub from Test.pm6 now allows for relative/absolute
> tolerance
> + A fail in a custom BUILD will now be returned, rather than thrown
> + Introduce .Map coercer
> + Implement alternate ways to call subtest
> + Support for new leap-second at the end of 2016
> + The “is required” trait on Attributes can now take a Bool or a Str
> + IO::[Path,Handle] gained a .mode method which returns the POSIX file
> permissions
> + Distribution is now a role interface that enables encapsulating IO used
> for distribution installation
> + CompUnit::Repository::Installation now uses the new Distribution
> interface
> + Custom repository implementations now supported, including precompilation
>
> Compiler maintenance since the last Rakudo Star release includes:
>
> + Basic object creation (using either .new or .bless) now up to 3x faster
> + All routines now have less overhead
> + The MMD cache accepts candidates with named parameters if it can. (This
> made adverbed slices about 18x as fast)
> + Sigificant optimizations for speed in many parts of the system (.map,
> gather/take etc.)
> + Many precompilation fixes (including EVAL and improved support of OS
> packaging)
> + Arrays with holes (e.g. from :delete) now correctly iterate/auto-vivify
> + An issue with reverse dependencies of installed modules was fixed
> + “is_approx” sub (note underscore) from Test.pm6 deprecated
> + Harden Mu.Str against moving GC
> + Simplify $USER/$GROUP initialization
> + Mu can now be the result of a Promise
> + samewith() now also works on non-multi’s
> + Many fixes in the area of pre-compilation and installing modules
> + count-only and bool-only now are optional methods in Iterators (only to
> be implemented if they can work without generating anything)
> + IO::ArgFiles.slurp / IO::ArgFiles.eof are fixed
> + REPL whitespace and error handling
> + CompUnit::Repository::Installation no longer considers bin/xxx and
> resources/bin/xxx the same content address
> + min/max on Failures throw instead of returning ±Inf
> + NativeCall’s is mangled trait no longer ignored for CPPStruct
> + Many Str, List and Array methods much faster
> + Map/Hash initializations are now 30% faster
> + make DESTDIR now correctly finds CompUnit::Repository::Staging
> + Output from Test.pm6′s diag() is no longer lost in non-verbose prove
> output when called at the start of the test file or during TODO tests
> + Improved error messages
>
> Notable changes in modules shipped with Rakudo Star:
>
> + DBIish: v0.5.9 (with many Oracle/MySQL fixes) plus README.pod and
> mojibake fixes
> + NativeHelpers-Blob: v0.1.10
> + PSGI: v1.2.0 supports P6SGI 0.7Draft
> + Pod-To-HTML: v0.1.2 plus fixes
> + debugger-ui-commandline: README fixes
> + doc: many fixes to documentation content and HTML generation
> + panda: Avoid Rakudo internals deprecation warning and don’t require
> Build.pm to inherit Panda::Builder
> + perl6-file-which: CI fixes
> + perl6-http-easy: v1.1.0 (with more flexible P6SGI support) plus avoid
> errors in binary request
> + shell-command: Mention already implemented commands missing from README
> + perl6-lwp-simple: track github.com/perl6/perl6-lwp-simple as upstream
> (as panda does) which has a test fix needed since we don’t support https in
> R* and a test url had a new https redirect
>
> perl6intro.pdf has also been updated.
>
> 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
> + non-blocking I/O (in progress)
> + some bits 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 

Announce: Rakudo Star Release 2016.07

2016-07-22 Thread Steve Mynott
On behalf of the Rakudo and Perl 6 development teams, I’m pleased to
announce the July 2016 release of “Rakudo Star”, a useful and usable
production distribution of Perl 6. The tarball for the July 2016 release is
available from http://rakudo.org/downloads/star/.

This is the third post-Christmas (production) release of Rakudo Star and
implements Perl v6.c. It comes with support for the MoarVM backend (all
module tests pass on supported platforms).

Please note that this release of Rakudo Star is not fully functional with
the JVM backend from the Rakudo compiler. Please use the MoarVM backend
only.

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 2016.07 of the Rakudo Perl 6 compiler,
version 2016.07 of MoarVM, plus various modules, documentation, and other
resources collected from the Perl 6 community.

Some of the new compiler features since the last Rakudo Star release
include:

+ Ability to use a customer debugger module
+ The “is-approx” sub from Test.pm6 now allows for relative/absolute
tolerance
+ A fail in a custom BUILD will now be returned, rather than thrown
+ Introduce .Map coercer
+ Implement alternate ways to call subtest
+ Support for new leap-second at the end of 2016
+ The “is required” trait on Attributes can now take a Bool or a Str
+ IO::[Path,Handle] gained a .mode method which returns the POSIX file
permissions
+ Distribution is now a role interface that enables encapsulating IO used
for distribution installation
+ CompUnit::Repository::Installation now uses the new Distribution interface
+ Custom repository implementations now supported, including precompilation

Compiler maintenance since the last Rakudo Star release includes:

+ Basic object creation (using either .new or .bless) now up to 3x faster
+ All routines now have less overhead
+ The MMD cache accepts candidates with named parameters if it can. (This
made adverbed slices about 18x as fast)
+ Sigificant optimizations for speed in many parts of the system (.map,
gather/take etc.)
+ Many precompilation fixes (including EVAL and improved support of OS
packaging)
+ Arrays with holes (e.g. from :delete) now correctly iterate/auto-vivify
+ An issue with reverse dependencies of installed modules was fixed
+ “is_approx” sub (note underscore) from Test.pm6 deprecated
+ Harden Mu.Str against moving GC
+ Simplify $USER/$GROUP initialization
+ Mu can now be the result of a Promise
+ samewith() now also works on non-multi’s
+ Many fixes in the area of pre-compilation and installing modules
+ count-only and bool-only now are optional methods in Iterators (only to
be implemented if they can work without generating anything)
+ IO::ArgFiles.slurp / IO::ArgFiles.eof are fixed
+ REPL whitespace and error handling
+ CompUnit::Repository::Installation no longer considers bin/xxx and
resources/bin/xxx the same content address
+ min/max on Failures throw instead of returning ±Inf
+ NativeCall’s is mangled trait no longer ignored for CPPStruct
+ Many Str, List and Array methods much faster
+ Map/Hash initializations are now 30% faster
+ make DESTDIR now correctly finds CompUnit::Repository::Staging
+ Output from Test.pm6′s diag() is no longer lost in non-verbose prove
output when called at the start of the test file or during TODO tests
+ Improved error messages

Notable changes in modules shipped with Rakudo Star:

+ DBIish: v0.5.9 (with many Oracle/MySQL fixes) plus README.pod and
mojibake fixes
+ NativeHelpers-Blob: v0.1.10
+ PSGI: v1.2.0 supports P6SGI 0.7Draft
+ Pod-To-HTML: v0.1.2 plus fixes
+ debugger-ui-commandline: README fixes
+ doc: many fixes to documentation content and HTML generation
+ panda: Avoid Rakudo internals deprecation warning and don’t require
Build.pm to inherit Panda::Builder
+ perl6-file-which: CI fixes
+ perl6-http-easy: v1.1.0 (with more flexible P6SGI support) plus avoid
errors in binary request
+ shell-command: Mention already implemented commands missing from README
+ perl6-lwp-simple: track github.com/perl6/perl6-lwp-simple as upstream (as
panda does) which has a test fix needed since we don’t support https in R*
and a test url had a new https redirect

perl6intro.pdf has also been updated.

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
+ non-blocking I/O (in progress)
+ some bits 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’s backends 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
rakudo...@perl.org.

See