From f7b277a3b3bb64b0647ccb12b84cf08cc395f8d0 Mon Sep 17 00:00:00 2001 From: Steve Mynott Date: Sat, 19 Nov 2016 17:26:20 +0000 Subject: draft announce --- docs/announce/2016.11.md | 213 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 docs/announce/2016.11.md diff --git a/docs/announce/2016.11.md b/docs/announce/2016.11.md new file mode 100644 index 0000000..69d3838 --- /dev/null +++ b/docs/announce/2016.11.md @@ -0,0 +1,213 @@ +# Announce: Rakudo Star Release 2016.11 + +## A useful and usable production distribution of Perl 6 + +On behalf of the Rakudo and Perl 6 development teams, I'm pleased to +announce the November 2016 release of "Rakudo Star", a useful and usable +production distribution of Perl 6. The tarball for the November 2016 release +is available from . + +This is the fifth 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.11] of the [Rakudo Perl 6 compiler], +version 2016.11 of [MoarVM], plus various modules, documentation, and +other resources collected from the Perl 6 community. + +[release 2016.11]: https://raw.githubusercontent.com/rakudo/rakudo/2016.11/docs/announce/2016.11.md +[Rakudo Perl 6 compiler]: http://github.com/rakudo/rakudo +[MoarVM]: http://moarvm.org/ + + +The changes in this release are outlined below: + +New in 2016.11: + + Fixes: + + Various improvements to warning/error-reporting + + Fixed assigning values to shaped arrays through iterators [839c762] + + Fixed Str.Int not failing on numerics with combining characters [d540fc8] + + [JVM] Fixed .antipairs breakage [dd7b055] + + defined routine now correctly authothreads with Junctions [189cb23] + + Fixed poor randomness when .pick()ing on ranges with >32-bit numbers [34e515d] + + Fixed infix: silencing Failures [2dd0ddb] + + Fixed edge case in is-approx that triggers DivByZero exception [f7770ed] + + (Windows) Fixed returning of an error even when succeeding in mkdir [208a4c2] + + (Windows) Fixed precomp unable to rename a newly compiled file [44a4c75] + + (Test.pm) Fixed indent of multi-line diag() and test failure messages [43dbc96] + + Fixed a callframe crash due to boxing of NULL filenames [200364a] + + ∞ ≅ ∞ now gives True [4f3681b] + + Fixed oversharing with grammars used by multiple threads [7a456ff] + + Fixed incorrect calculations performed by acotan(num) [8e9fd0a] + + Fixed incorrect calculations performed by asinh(num)/acosh(num) [a7e801f] + + Fixed acosh return values for large negative numbers [5fe8cf7] + + asinh(-∞) now returns -∞ instead of NaN [74d0e36] + + atanh(1) now returns ∞ instead of throwing [906719c][66726e8] + + Fixed missing close in IO::Path.slurp(:bin) [697a0ae] + + :U QuantHashes now auto-vivify to their correct type and not Hash [79bb867] + + Mix/MixHash.Bag/BagHash coersion now ignores negative weights [87bba04] + + arity-0 infix: now returns a Seq instead of a List [3fdae43] + + Fix augment of a nested package [87880ca] + + Smartmatch with Regex variable now returns a Match instead of Bool [5ac593e] + + Empty ()[0] now returns Nil instead of False [f50e39b] + + Failed IO::Socket::Async connection no longer produces unexpected crash [f50e39b] + + Quitting Supplies with no QUIT phasers no longer unexpectedly crash [f50e39b] + + Fixed NativeCall issues on big endian machines [627a77e] + + Fixed broken handling of $/ in some uses of `.match` [ba152bd] + + Fixed Lock.protect not releasing the lock on control exceptions [48c2af6] + + MoarVM now builds on any version of macOS [b4dfed2] + + Fixed concurrency crashes due to garbage collection [6dc5074] + + Fixed race condition in EmptyIterator [ed2631c] + + Fixed hang with multi-threaded long-running NativeCall calls [f99d958] + + Made my @a[10] = ^Inf work [aedb8e7] + + Fixed [;]:delete [3b9c4c9] + + Fixed incorrect handling of negative weights in ∪ operator [e10f767] + + duckmap now preserves types of Iterables [43cb55f] + + Fixed premature overflow to Inf with large Num literals [729d7e3] + + Fixed race condition in NativeCall callsite used by multiple threads [49fd825] + + Fixed instabilities in programs launching many threads at startup [0134132] + + Fixed crash when reporting X::Composition::NotComposable or + X::Inheritance::Unsupported exceptions [a822bcf] + + Fixed clock_gettime issue on macOS [ee8ae92] + + Fixed SEGV in multi-threaded programs with strings-as-strands [395f369] + + `regex` TOP Grammar rule will now backtrack if needed [4ccb2f3] + + Fixed .rotate/.reverse on 1-dimmed arrays assigning to self [2d56751] + + Fixed exponentiation involving zeros for Complex numbers [7f32243] + + Fixed Label.gist [29db214][53d7b72] + + Fixed certain edge cases of incorrect stringification of Rationals + with .Str, .perl, and .base [b5aa3c5] + + Additions: + + Added TWEAK submethod for object construction [fdc90a2][9409d68] + + Added DateTime.hh-mm-ss [bf51eca] + + Added parse-base routine [7e21a24] + + is-approx with no explicit tolerances now uses more complex algorithm to + choose a tolerance to use (same as old is_approx) [82432a4] + + on failure, is-approx now displays actual values received [b4fe680] + + Added Iterator.skip-one to skip a single value [71a01e9] + + Added Iterator.skip-at-least to skip several values [8d357af] + + Re-imagined Str.match [b7201a8]: + + the family of :nth is now lazy will return whatever can find + + non-monotonically increasing :nth iterator values will now die + + Str.match/subst/subst-mutate now have :as adverb [1b95636][c9a24d9][aaec517] + + &infix: now works with Setty objects [d92e1ad] + + :ov and :ex adverbs are now illegal in Str.subst [b90c741] + + Made nextwith/samewith/nextsame/callwith to be real subroutines [70a367d] + + Added CX::Emit and CX::Done control exceptions [07eeea8] + + Setty.Mix/.MixHash coercers now use Int weights instead of Bool [7ba7eb4] + + Implemented :kv,:p,:k,:v on 1-element multidim [;] [764cfcd] + + .chrs can now also accepts codepoint numbers as Str [4ae3f23] + + Added support for compilation of Rakudo on Solaris [a43b0c1] + + IterationEnd.perl/gist/Str now returns text "IterationEnd" [59bb1b1] + + Added X::Syntax::Number::InvalidCharacter exception [2faa55b] + + .reverse/rotate on 1-dimmed arrays are now nodal [cd765e6] + + .line and .file on core Code now references original source files [b068e3a] + + .rethrow now works on unthrown exceptions [58a4826] + + All Reals now accept `Whatever` as the second argument to .base() [c1d2599] + + sub MAIN usage message shows possible Enum values if param is + named and is an Enum [a3be654] + + Efficiency: + + Made slip(@a) about 1.2x faster [37d0e46] + + Made initialization of 2+dimmed array 10x to 16x faster [dfb58d4] + + Str.match is now about 5% faster [4fc17df] + + Str.match with :nth feature is now about 2x faster [41e2572] + + my @a = Str.match(...) is now about 5% faster [e472420] + + Str.comb(Regex) is now about 7x faster [1794328] + + Simple Str.subst/subst-mutate is now about 30% faster [364e67b] + + Match.Str|prematch|postmatch is now about 2x faster [e65d931] + + Match.Bool is now about 1% faster (not much, but used a lot) [1fce095] + + Made ~~ /foo/ faster: 2% for successful/6% for failed matches [05b65d0] + + Made ~~ /foo/ about 2x faster [e4dc8b6] + + Made %h ~~ /foo/ about 2x faster [33eeb32] + + Frequent accesses of multiple adverbs (e.g. %h:p:exists) + is now 2x faster [f22f894] + + Made infix: faster: Str: 14x, type: 10x, Range: 3.5x, + Int|Seq|Hash: 1.5x, Array: 1.2x [bc7fcc6] + + IO::Spec::Unix.canonpath is now 7x to 50x faster [f3f00fb] + + Baggy.roll/pick is now about 10% faster [fc47bbf] + + Made copying shaped arrays 10x to 20x faster [a1d8e93][0cf7b36][d27ecfa] + + Made setting up a shaped array 2x as fast [f06e4c3] + + Made creation of typed shaped arrays 15% faster [f5bf6c1] + + Made 2d/3d array accesses about 7x as fast [d3a0907] + + Made AT-POS on 1,2,3dim arrays about 20x faster [feb7bcb] + + Made creating a shaped array about 50% faster [1293188][576f3a1] + + Made .AT-POS on 3+ dimmed arrays 20% faster [1bb5aad] + + Made over-indexed .AT-POS on 1,2,3 dimmed arrays about 10% faster [1bb5aad] + + Made multi-dimmed ASSIGN-POS about 30% faster [5b2bdeb] + + Made .ASSIGN-POS for 1,2,3dimmed arrays about 40x faster [050cf72] + + Made n-dimmed .EXISTS-POS about 1.5x faster [006f008] + + Made .EXISTS-POS for 1,2,3dimmed arrays about 10x faster [b1c41b7] + + Made n-dimmed DELETE-POS about 1.3x faster [6ccecb1] + + Made .DELETE-POS for 1,2,3dimmed arrays about 20x faster [55b9e90] + + Made n-dimmed BIND-POS about 1.3x faster [2827edb] + + Made .BIND-POS for 1,2,3dimmed arrays about 20x faster [9f94525] + + Made @a[10].STORE at least as fast as @a.STORE [8064ff1] + + Made .kv on shaped Arrays about 4x faster [e42b68e] + + Made .pairs/.antipairs on shaped Arrays about 2.8x faster [0f2566a][f608a33] + + Made List.kv about 30% faster [7a2baf4] + + for loops on 1-dimmed arrays are now 3x faster [ed36e60] + + .kv on 1-dimmed arrays is now 7x faster [608de26] + + .pairs/.antipairs on 1-dimmed arrays is now 3x faster [b7d9537][1c425f9] + + postcircumfix[;] on 2/3 dimmed arrays is now 9x faster [0b97362] + + Assignment to [;] for 2/3 dimmed arrays is now 10x faster [ce85ba3] + + [;]:exists for 2/3 dimmed arrays is now 7x faster [e3e3fef] + + [;]:delete for 2/3 dimmed arrays is now 10x faster [3b9c4c9] + + [;] := foo for 2/3 dimmed arrays is now 10x faster [eaf4132] + + .iterator and .values on shaped arrays are now about 4x faster [736ab11] + + Fixed optimization of shaped arrays that gives 10% gain on simple `for` + loops and likely will give larger gains on bigger programs [b7e632e] + + Made starting MappyIterator faster, affecting all Hash/Map/Baggy iterator + methods. 2-elem Hash iteration is 1.6x faster [97fb6c2] + + Made starting a grepper faster: .grep on with no adverbs on 2-element list + is now 20% faster [077c8f0] + + Made Date/DateTime creation 20% faster [0e7f480] + + Hashes now use 4 (32-bit) or 8 (64-bit) bytes less memory per stored item [395f369] + + Rational.Str is now about 40% faster [b5aa3c5] + + Rational.base is now about 30% faster [b5aa3c5] + + Various streamlining of code that's hard to measure the final impact of + +Notable changes in modules shipped with Rakudo Star: + + + DBIish: Prepare tests for lexical module loading and do not rely on your dependencies to load modules + + Pod-To-HTML: Bump version and use a separate element as anchor for "to top" links + + Terminal-ANSIColor: Update Pod documentation and support 256-color and 24-bit RGB modes + + doc: Large number of changes - too many to detail here + + json_fast: Incredible speed gains + + panda: Explicitly use Panda::Project as we use it in class Panda + + perl6-lwp-simple: Change to http.perl6.org since the main site is going https and add NO_NETWORK_TESTING + + perl6-pod-to-bigpage: add dep IO::Socket::SSL + +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 +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 . + +See for links to much more information about +Perl 6, including documentation, example code, tutorials, presentations, +reference materials, design documents, and other supporting resources. +Some Perl 6 tutorials are available under the "docs" directory 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 +, ask on the +mailing list, or join us on IRC \#perl6 on freenode. -- cgit v1.1