Commit a876300f authored by Dominique Dumont's avatar Dominique Dumont

New upstream version 2018.01

parent cf0c8b2a
# Filing Issues
## Potential bugs
Please include a way for developers to reproduce the problem. A small program
that demonstrates a problem is best.
Describe the behaviour you're observing and how it differs from expectations.
Include the version of the compiler you're using (run `perl6 -v`) as well as
the type and version of the operating system (e.g. `Windows 10`)
--------------------------------
# How to Contribute to Rakudo Perl 6
Contributions to Rakudo are very welcome.
......
......@@ -115,6 +115,9 @@ docs/announce/2017.07.md
docs/announce/2017.08.md
docs/announce/2017.09.md
docs/announce/2017.10.md
docs/announce/2017.11.md
docs/announce/2017.12.md
docs/announce/2018.01.md
docs/architecture.html
docs/architecture.svg
docs/ChangeLog
......@@ -128,7 +131,6 @@ docs/metaobject-api.pod
docs/module_management.md
docs/obtaining-a-commit-bit.pod
docs/ops.markdown
docs/release_guide_automated.md
docs/release_guide.pod
docs/ROADMAP
docs/roast-spectest.data-versioning.md
......@@ -149,6 +151,8 @@ lib/NativeCall.pm6
lib/NativeCall/Types.pm6
lib/newline.pm6
lib/Pod/To/Text.pm6
lib/snapper.pm6
lib/Telemetry.pm6
lib/Test.pm6
LICENSE
MANIFEST
......@@ -363,7 +367,6 @@ src/core/Thread.pm
src/core/ThreadPoolScheduler.pm
src/core/traits.pm
src/core/TypedArray.pm
src/core/UInt64.pm
src/core/Uni.pm
src/core/Variable.pm
src/core/Version.pm
......@@ -374,7 +377,6 @@ src/main.nqp
src/Perl6/Actions.nqp
src/Perl6/Compiler.nqp
src/perl6-debug.nqp
src/Perl6/DebugPod.nqp
src/Perl6/Grammar.nqp
src/Perl6/Metamodel/Archetypes.nqp
src/Perl6/Metamodel/ArrayType.nqp
......@@ -539,15 +541,18 @@ t/04-nativecall/CompileTestLib.pm
t/05-messages/01-errors.t
t/05-messages/02-errors.t
t/05-messages/10-warnings.t
t/06-tap-harness/01-desc-backslashes.t
t/06-tap-harness/02-skip-all.t
t/06-tap-harness/test-files/01-desc-backslashes--1.TAP-TEST
t/06-tap-harness/test-files/02-skip-all.TAP-TEST
t/05-messages/11-overflow.t
t/05-messages/v6.d-tests/01-errors.t
t/06-telemetry/01-basic.t
t/06-telemetry/02-usage.t
t/06-telemetry/03-thread.t
t/06-telemetry/04-threadpool.t
t/07-pod-to-text/01-whitespace.t
t/08-performance/01-iterators.t
t/fudgeandrun
t/harness5
t/harness6
tools/autounfudge.pl
tools/available-pm-names.pl6
tools/benchmark.pl
tools/build/common_bootstrap_sources
tools/build/create-jvm-runner.pl
......@@ -572,16 +577,14 @@ tools/build/moar_core_sources
tools/build/nqp-jvm-rr.pl
tools/build/NQP_REVISION
tools/build/upgrade-repository.pl
tools/commit-stats.pl
tools/contributors.pl6
tools/create-release-announcement.pl6
tools/CREDITS.pl6
tools/install-dist.pl
tools/lib/NQP/Configure.pm
tools/perl6-limited.pl
tools/progress-graph.pl
tools/rakudo-swarm.config
tools/release-dates.pl
tools/release-dates.p6
tools/update-passing-test-data.pl
tools/update-tai-utc.pl
tools/util/perlcritic.conf
......
# Rakudo Perl 6
This is Rakudo Perl, a Perl 6 compiler for the MoarVM and JVM.
This is Rakudo Perl 6, a Perl 6 compiler for the MoarVM and JVM.
Rakudo Perl is Copyright (C) 2008-2017, The Perl Foundation. Rakudo Perl
Rakudo Perl 6 is Copyright © 2008-2018, The Perl Foundation. Rakudo Perl 6
is distributed under the terms of the Artistic License 2.0. For more
details, see the full text of the license in the file LICENSE.
This directory contains only the Rakudo Perl 6 compiler itself; it
This directory contains only the Rakudo Perl 6 compiler itself; it
does not contain any of the modules, documentation, or other items
that would normally come with a full Perl 6 distribution. If you're
that would normally come with a full Perl 6 distribution. If you're
after more than just the bare compiler, please download [the latest
Rakudo Star package](http://rakudo.org/downloads/star).
......@@ -21,7 +21,7 @@ text file.
## Building and Installing Rakudo
[![Build Status](https://travis-ci.org/rakudo/rakudo.svg?branch=nom)](https://travis-ci.org/rakudo/rakudo) [![Build status](https://ci.appveyor.com/api/projects/status/github/rakudo/rakudo?svg=true)](https://ci.appveyor.com/project/rakudo/rakudo/branch/nom)
[![Build Status](https://travis-ci.org/rakudo/rakudo.svg?branch=master)](https://travis-ci.org/rakudo/rakudo) [![Build status](https://ci.appveyor.com/api/projects/status/github/rakudo/rakudo?svg=true)](https://ci.appveyor.com/project/rakudo/rakudo/branch/master)
See the INSTALL.txt file for detailed prerequisites and build and
installation instructions.
......@@ -30,7 +30,7 @@ The general process for building is running `perl Configure.pl` with
the desired configuration options (common options listed below), and
then running `make` or `make install`. Optionally, you may run
`make spectest` to test your build on [Roast](http://github.com/perl6/roast),
the Official Perl 6 test suite. To update the test suite, run
the Official Perl 6 test suite. To update the test suite, run
`make spectest_update`.
Installation of Rakudo simply requires building and running `make install`.
......@@ -85,23 +85,23 @@ The format for the `--backends` flag is:
## Where to get help or answers to questions
There are several mailing lists, IRC channels, and wikis available with
help for Perl 6 and Rakudo. Figuring out the right one to use
help for Perl 6 and Rakudo. Figuring out the right one to use
is often the biggest battle. Here are some rough guidelines:
The central hub for Perl 6 information is [perl6.org](http://perl6.org/).
The central hub for Perl 6 information is [perl6.org](http://perl6.org/).
This is always a good starting point.
If you have a question about Perl 6 syntax or the right way to approach
a problem using Perl 6, you probably want the "perl6-users@perl.org"
If you have a question about Perl 6 syntax or the right way to approach
a problem using Perl 6, you probably want the “perl6-users@perl.org”
mailing list or the [irc.freenode.net/#perl6 IRC
channel](https://webchat.freenode.net/?channels=#perl6). The perl6-users
list is primarily for the people who want to use Perl 6 to write
list is primarily for the people who want to use Perl 6 to write
programs, so newbie questions are welcomed there. Newbie questions
are also welcome on the #perl6 channel; the Rakudo and Perl 6
are also welcome on the #perl6 channel; the Rakudo and Perl 6
development teams tend to hang out there and are generally glad
to help. You can follow [@perl6org](https://twitter.com/perl6org)
and [@rakudoperl](https://twitter.com/rakudoperl) on Twitter, and there's
a Perl 6 news aggregator at [Planet Perl 6](http://pl6anet.org/).
a Perl 6 news aggregator at [Planet Perl 6](http://pl6anet.org/).
Questions about NQP can also be posted to the #perl6 IRC channel.
For questions about MoarVM, you can join #moarvm on freenode.
......@@ -110,14 +110,14 @@ For questions about MoarVM, you can join #moarvm on freenode.
Please see https://github.com/rakudo/rakudo/wiki/rt-introduction
for more information about how and where to report issues with
Rakudo, its components, and the Perl 6 language specification.
Rakudo, its components, and the Perl 6 language specification.
## Submitting patches
If you have a patch that fixes a bug or adds a new feature, please
create a pull request using github's pull request infrastructure.
See [our contribution guidelines](https://github.com/rakudo/rakudo/blob/nom/CONTRIBUTING.md) for more information.
See [our contribution guidelines](https://github.com/rakudo/rakudo/blob/master/CONTRIBUTING.md) for more information.
## Line editing and tab completion
......@@ -131,6 +131,6 @@ An alternative is to use a third-party program such as [rlwrap](http://utopia.kn
## AUTHOR
Jonathan Worthington is the current pumpking for Rakudo Perl 6.
Jonathan Worthington is the current pumpking for Rakudo Perl 6.
See CREDITS for the many people that have contributed
to the development of the Rakudo compiler.
......@@ -19,7 +19,7 @@ configuration:
# Monitored branches
branches:
only:
- nom
- master
- /smoke-me/
# To stop automatic build of VS solution files
......
This diff is collapsed.
# Announce: Rakudo Perl 6 compiler, Release #117 (2017.11)
On behalf of the Rakudo development team, I’m very happy to announce the
November 2017 release of Rakudo Perl 6 #117. Rakudo is an implementation of
Perl 6 on the Moar Virtual Machine[^1].
This release implements the 6.c version of the Perl 6 specifications.
It includes bugfixes and optimizations on top of
the 2015.12 release of Rakudo.
Upcoming releases in 2017 will include new functionality that is not
part of the 6.c specification, available with a lexically scoped
pragma. Our goal is to ensure that anything that is tested as part of the
6.c specification will continue to work unchanged. There may be incremental
spec releases this year as well.
The tarball for this release is available from <http://rakudo.org/downloads/rakudo/>.
Please note: This announcement is not for the Rakudo Star
distribution[^2] — it’s announcing a new release of the compiler
only. For the latest Rakudo Star release, see
<http://rakudo.org/downloads/star/>.
The changes in this release are outlined below:
New in 2017.11:
+ SPECIAL NOTES:
+ Main development branch changed from “nom” to “master” [f40babb8]
+ Fixes:
+ Fixed Lock.protect to no longer leak Proxies [be9e19ef]
+ Fixed R:I:JSON to handle recursive Exceptions [3cba6204]
+ Fixed .perl output of an empty Set/SetHash [af3624d4]
+ Made some attribute defaults throw NYI instead of silently ignoring
[9f54bc98][0973b307][6dab5aad]
+ Fixed quote lang cache regression [ad16c6fb]
+ Improved stability by always setting up `$*PID` [a1866b7b]
+ Implemented hypered nodality for all methodcall variations [3c4041ea]
+ Fixed combinations with * endpoints [bdc73563]
+ Made Range.sum sensible for -∞/∞ endpoints [5eeb72a9][21efe96f]
+ Made multi sub(:@c is copy) { } work [be1e2879]
+ Ensured CLOSE phasers have correct outer chain [96557571]
+ Fixed segfault on Bag.new.pick(1) [fe1f8632]
+ Improved handling of %b spacing sprintf [b2fbf893]
+ Made .head and .tail only take WhateverCode [5a29a0ce]
+ Moved signal() handling to the timer worker queue [1bc9936a]
+ Fixed default Encoding::alternative-names [2f0da94c]
+ Various improvements to warnings and error reporting [142c1d65][fff43fd7]
[c9360203][497e0582][ad7c97df][88d67516]
+ Additions:
+ Channel can now be closed with sub close() [91543fe3][ef84aafc]
+ my %h is (Set|SetHash|Bag|BagHash|Mix|MixHash) now DWIM [1949a2bc]
[6ac2b15c][aab2b983][b6a4d5b5]
+ Implemented metamethod shorthand syntax [5c96d554]
+ Kernel.cpu-cores returning the number of CPU cores available [61af87bc]
+ Kernel.cpu-usage exposed basic CPU usage information [c4d373c5]
+ Telemetry module providing an easy interface to system state reporting
[cbd4f212][273168d7][3e175c83][7f154fe2][3dfaa2ae][59a59be8][52440486]
[b30916f3][b30916f3][f7d21b5d][ae1f0fda][f72ad227][4b4429cc][58249a52]
[f51a3efc][8a0eb7fa][bc00894f][e95b02f1][ccbfaaa0][2f963b14][c1867ba1]
[8e4d3248][0a809698][824a5dc2][dcf3e28c][0bdda086][a2ae00ed][86d541f4]
[474feb09][5e7dfe52][3b4f0c6c][7144dc29][73e1faaa][cf1742dc][91e00e68]
[96751ee8][7e00908c][d21c31e1][0dc4a0eb][c2baf95e][e1a1b8d8][b380230d]
[fccc7515][1c2c7d84][2f12bea1][4ed91ed6][fea5612c][360eb228][9344d35d]
[d5fc6cbb][3e4ef2e0][4d21ad67][0f2f0cd3][22939bc8][77142fdb][ab03b54c]
[fc9e7241][948a3fa4][f8e1a5fa][17db03eb][14e2016c][2dcefa1c][345fbf5a]
[b80d486c][3e4ccce9][86e9f44a][f87d8ef8][5f4b61b1][e5912337][de961b81]
[d6f1077d][ba49b343][1aa83a78][06cbe9c2][246f4101][d6a3a7a1][88a9cb25]
[9381ffbc]
+ Efficiency:
+ Made .sum on native num arrays 11x faster [b849622e]
+ Made INITTIME a bit faster [e00f705d]
+ Made interpolation of variables into regexes a bit faster [6bca84fa]
[c93dc9e6][fa8bc549]
+ Made Buf ~ Blob about 7x faster, Blob ~ Blob 1.8x faster [8b47adad]
+ OS thread exhaustion is now handled more gracefully [fe799a98][57374490]
[14fbb5e7][6d8ed287]
+ Other more general ThreadPoolScheduler improvements [e513f19d][6ac53e42]
[2cd568f9][6bf58921][6de66df7][6aa150db][09e038cd][a7972a0c][260e4a3a]
[a9b8854a][09492179][6959349e][697e4ecf][b386963a][5d0ccf73][bfcc43ec]
[87e87202][92543962]
+ Minor IterationBuffer improvements [c15e80de]
+ Internal:
+ ThreadPoolScheduler now keeping internal statistics, e.g. for Telemetry
[2c84f77e]
+ Thread now keeping internal statistics, e.g. for Telemetry [68b2891d]
[77048b6a][cb4d8b66]
+ Changed how Int.new gets rid of mixins [6cb7ebfb]
+ Normalized proto bodies [0edd0cc9][102fbd51]
+ Set no_inline when the dispatcher is needed [c1df0b1b][0ff32c7f]
+ Various JIT-related changes [3bd756f5][0a029db6]
+ Repository cleanup [028b7d22][5baede59][825a8b0d][6ec6f1eb]
+ Various improvements for the JVM backend [ac738b98][b2725c12][4849c733]
[d6cd0d2f][8b24bf5c][38f51db9][581edd58]
The following people contributed to this release:
Elizabeth Mattijsen, Alex Chen, Pawel Murias, Zoffix Znet,
Aleks-Daniel Jakimenko-Aleksejev, Christian Bartolomäus, Will "Coke" Coleda,
Jan-Olof Hendig, Samantha McVey, Daniel Green, Tom Browder, Jeremy Studer,
Jonathan Worthington, Stefan Seifert, Moritz Lenz, Nick Logan,
Jarkko Haapalainen, W4anD0eR96, Patrick Sebastian Zimmermann,
Timo Paulssen, Steve Mynott, holli-holzer, ZzZombo, Brian Duggan,
Wenzel P. P. Peppmeyer, Curt Tilmes, Ahmad M. Zawawi
If you would like to contribute or find out more information, visit
<http://perl6.org>, <http://rakudo.org/how-to-help>, ask on the
<perl6-compiler@perl.org> mailing list, or ask on IRC #perl6 on freenode.
Additionally, we invite you to make a donation to The Perl Foundation
to sponsor Perl 6 development: <https://donate.perlfoundation.org/>
(put “Perl 6 Core Development Fund” in the ‘Purpose’ text field)
The next release of Rakudo (#118), is tentatively scheduled for 2017-12-16.
A list of the other planned release dates is available in the
“docs/release_guide.pod” file.
The development team appreciates feedback! If you’re using Rakudo, do
get back to us. Questions, comments, suggestions for improvements, cool
discoveries, incredible hacks, or any other feedback – get in touch with
us through (the above-mentioned) mailing list or IRC channel. Enjoy!
Please note that recent releases have known issues running on the JVM.
We are working to get the JVM backend working again but do not yet have
an estimated delivery date.
[^1]: See <http://moarvm.org/>
[^2]: What’s the difference between the Rakudo compiler and the Rakudo
Star distribution?
The Rakudo compiler is a compiler for the Perl 6 language.
Not much more.
The Rakudo Star distribution is the Rakudo compiler plus a selection
of useful Perl 6 modules, a module installer, Perl 6 introductory
documentation, and other software that can be used with the Rakudo
compiler to enhance its utility.
# Announce: Rakudo Perl 6 compiler, Release #118 (2017.12)
On behalf of the Rakudo development team, I’m very happy to announce the
December 2017 release of Rakudo Perl 6 #118. Rakudo is an implementation of
Perl 6 on the Moar Virtual Machine[^1].
This release implements the 6.c version of the Perl 6 specifications.
It includes bugfixes and optimizations on top of
the 2015.12 release of Rakudo.
Upcoming releases in 2017 will include new functionality that is not
part of the 6.c specification, available with a lexically scoped
pragma. Our goal is to ensure that anything that is tested as part of the
6.c specification will continue to work unchanged. There may be incremental
spec releases this year as well.
The tarball for this release is available from <http://rakudo.org/downloads/rakudo/>.
Please note: This announcement is not for the Rakudo Star
distribution[^2] — it’s announcing a new release of the compiler
only. For the latest Rakudo Star release, see
<http://rakudo.org/downloads/star/>.
The changes in this release are outlined below:
New in 2017.12:
+ Fixes:
+ Various POD-related fixes [41514235][11d90cac][061c36d6][2cd266fe]
[8ea7a46f][2c951798]
+ Fixed resolve of IO::Path for Windows [eed733e2]
+ Fixed ∖ op to do Hash→Mix conversion through Sets [eacf9b27]
+ Fixed incorrect attribute name in X::AdHoc.new [3166400d]
+ Fixed Supply.zip() to call `done` when some supply is `done` [1d0dae86]
+ Fixed Supply.throttle() when the source supply becomes `done` [c8370f21]
+ Fixed silent failures on invalid `is export` values [1668b4f0]
+ Fixed many cases of enum creation [d9021cf1][754664ed][65301756]
+ Fixed crash when using allomorphs as enum values [fc52143b]
+ Fixed <:Digit> to match digits correctly [0339b0f8]
+ Fixed some Telemetry.EXISTS-KEY issues [f3b1289f][91798547]
+ Fixed gut spillage in pseudopackages [cd24b1c5][a82e0e7d][1c7d15d7]
+ Fixed introspection on Mixins to Code:U objects [e31a414b]
+ Fixed let/temp to be able to take Mu [75229976]
+ Fixed autovivification container issues with `no strict` [e5b49ce3]
+ Fixed shaped array indexing to accept non-Ints [00632edb]
+ Fixed List.new to not create containers [d80df073]
+ Fixed incorrect .count-only/.bool-only implementation [af9812fa][0e228fab]
+ Made sure each Seq.skip gets a new Seq [854c10c2]
+ Moved attribute settage inside the lock [8df8ce09]
+ Made print/say/put/note handle junctions correctly [07616eff]
[9de4a60e][8155c4b8][3405001d]
+ Fixed WhateverCode curries losing `use fatal` [31db3acc]
+ Various improvements to produced messages [d85585ea][9fd5042b]
[c9699ab2][1da698ab]
+ Additions:
+ Implemented TR/// [f6958624][3d2fa915][8b27166f]
+ Implemented .toggle [694f534a][78caeb6b][ca7d0483][e7c0a644]
+ Consistified &[but] and &[does] with non-roles [575d31e2]
+ Added While/Until iterators [2c1a2860]
+ Added proper Supply.Seq method [aa3c2c5b]
+ Efficiency:
+ Made multi-needle split setup cheaper [5929887c]
+ Streamlined INDIRECT_NAME_LOOKUP a bit [76158136]
+ Made &[-]/&[+] with Rationals 30%-50% faster [6c299bf9]
+ Made DIVIDE-NUMBERS 6%-15% faster [78aeaf46]
+ Streamlined Hash.AT-KEY [6601da5c]
+ Streamlined Array.Slip.AT-POS like Hash.AT-KEY [fe8312b7]
+ Streamlined Array.AT-POS for better inlinability [af29a227]
+ Streamlined List.AT-POS a bit [9a2f5325]
+ Made Array.ASSIGN-POS about 1.7x faster [c5afc97e]
+ Made R:It:ReifiedArray 15% to 30% faster [a974de9b]
+ Streamlined Array.iterator.push-until-lazy a bit [ae02bc29]
+ Internal:
+ Abstracted prefix:<temp|let> logic into R:I [47f23fc6][126d7b55][6fb5c8c8]
+ Implemented Sequence.Numeric [6061f0bc]
+ Various improvements for the JVM backend [0a24efc3][f40c3818]
[fbf7beca][928ada08][74a13ae1]
+ Added tests for previously resolved issues [20d67a3d][831dab14]
[1b0be0f6][062c27f3][1101fea1][fed56be2][47552282][ced4af66]
[d4ad6fa9][eaf609ed][04eb1da6]
The following people contributed to this release:
Zoffix Znet, Elizabeth Mattijsen, Pawel Murias, Alex Chen, Tom Browder,
Christian Bartolomäus, Luca Ferrari, Aleks-Daniel Jakimenko-Aleksejev,
Jan-Olof Hendig, Fernando Correa de Oliveira, Jeremy Studer,
Will "Coke" Coleda, Samantha McVey, Jonathan Worthington, Tim Smith,
Larry Wall, Dmitri Iouchtchenko, Rafael Schipiura, Fernando Correa,
Moritz Lenz, Timo Paulssen, Juan Julián Merelo Guervós, lefth, Brad Gilbert,
Michael D. Stemle, Jr, Daniel Green, Ronald Schmidt
If you would like to contribute or find out more information, visit
<http://perl6.org>, <http://rakudo.org/how-to-help>, ask on the
<perl6-compiler@perl.org> mailing list, or ask on IRC #perl6 on freenode.
Additionally, we invite you to make a donation to The Perl Foundation
to sponsor Perl 6 development: <https://donate.perlfoundation.org/>
(put “Perl 6 Core Development Fund” in the ‘Purpose’ text field)
The next release of Rakudo (#119), is tentatively scheduled for 2018-01-20.
A list of the other planned release dates is available in the
“docs/release_guide.pod” file.
The development team appreciates feedback! If you’re using Rakudo, do
get back to us. Questions, comments, suggestions for improvements, cool
discoveries, incredible hacks, or any other feedback – get in touch with
us through (the above-mentioned) mailing list or IRC channel. Enjoy!
Please note that recent releases have known issues running on the JVM.
We are working to get the JVM backend working again but do not yet have
an estimated delivery date.
[^1]: See <http://moarvm.org/>
[^2]: What’s the difference between the Rakudo compiler and the Rakudo
Star distribution?
The Rakudo compiler is a compiler for the Perl 6 language.
Not much more.
The Rakudo Star distribution is the Rakudo compiler plus a selection
of useful Perl 6 modules, a module installer, Perl 6 introductory
documentation, and other software that can be used with the Rakudo
compiler to enhance its utility.
# Announce: Rakudo Perl 6 compiler, Release #119 (2018.01)
On behalf of the Rakudo development team, I’m very happy to announce the
January 2018 release of Rakudo Perl 6 #119. Rakudo is an implementation of
Perl 6 on the Moar Virtual Machine[^1].
This release implements the 6.c version of the Perl 6 specifications.
It includes bugfixes and optimizations on top of
the 2015.12 release of Rakudo.
Upcoming releases in 2018 will include new functionality that is not
part of the 6.c specification, available with a lexically scoped
pragma. Our goal is to ensure that anything that is tested as part of the
6.c specification will continue to work unchanged. There may be incremental
spec releases this year as well.
The tarball for this release is available from <http://rakudo.org/downloads/rakudo/>.
Please note: This announcement is not for the Rakudo Star
distribution[^2] — it’s announcing a new release of the compiler
only. For the latest Rakudo Star release, see
<http://rakudo.org/downloads/star/>.
The changes in this release are outlined below:
New in 2018.01:
+ Fixes:
+ Fixed IO::CatHandle.read switching handles too soon [dc800d89]
+ Ensured &await can handle flattenable Iterables [1a4df4e1]
+ Made Array.gist limit output to 100 elements [08539c43]
+ Fixed .[count|bool]-only of combinations/permutations [5eed2b00]
[cda4a4d7][2c27eeaa][d4f53ed5][19604c2d]
+ Made sure subclasses of List create consistent .WHICH [18557da9]
+ Fixed Range.pick/roll in light of degenerate Ranges [5c228333][55cb8f3d]
+ Fixed Whatever.ACCEPTS with Mu:U [89d85baa]
+ Fixed signatures that had Int when Int:D was meant [3e044dc7]
+ Guarded subbuf against negative ranges [24f4609e]
+ Fixed some export issues [38897d19]
+ Fixed Slip wrapping of quoteword with one word [ad684de3]
+ Fixed ±Inf/NaN Num to Rat conversions [042cb741][c91bcc2a]
+ Fixed USAGE with subsets/where and variables with quotes [27fbd7ab]
+ Fixed .gist dumping too much output in some cases [de21da30][53a85080]
+ Fixed crash in `eqv` with conted Versions [72ee58e2]
+ Fixed issues with smiley-ed coercers [a177fa99][8dcf9dac][3947a4c1][354a3848]
+ Made sure Rat calculation does not use type objects [9910b393][9adc58c3]
+ Fixed handling of type objects in Date.new [1d034df8][dfaa2282][038b1ea7]
+ Fixed CURFS/CURI .perl output [9cf2f998]
+ Made sure hashes are not interpolated in regexes [f719a471]
+ Fixed explosions when hypering over Buf [7ba50d86]
+ Made &dd more resilient to low-level stuff [99923747][d0be53a1]
+ Fixed .head/.tail to take any Callable [b4007070]
+ Fixed .skip with WhateverCode [d034cb58]
+ Fixed operator chaining with negated operators [ba111cfe][14c2cdb3]
+ Disallowed binding into a List [eed54cae]
+ Fixed `--optimize` flag propagation in EVAL code [e509c1a9]
+ Fixed RatStr .succ/.pred explosion [631875fc]
+ Fixed silent failure when binding to map keys [6a3db334]
+ Fixed R::I::Rotor calling .pull-one too many times [4a82b4b6]
+ Fixed `need` with versions [7537f899][0cdd82a2][0a73f19a][4d5e097a]
+ Fixed the lookup of many core symbols [efdbfeca]
+ Made .range consistently a Str in OutOfRange exceptions [90246e65]
+ Fixed superfluous parsing of ∞ [626991e0]
+ Fixed many POD issues [14c28cae]
+ Various fixes for the JVM backend [4945dc40][4909430c][333efa0b]
[00b7832a][70c57c3a][1e8c9762]
+ Various improvements to useless use warnings [d30e5b1e][c6b7012a]
[64803b0a][ef2dc1b8][99da4a5a][00188757][e9c9dc46]
+ Various improvements to other produced messages [a04c6164][548dcf46]
[6d65cf4f][51e0aa09][82dbada3][e543c890][0444a2c3][e5b4f37f][900c1b59]
[96a3582c][5571d7f7][34160bf0][01ffd0f9][6a6470f9][e91159c5][5f7fdfdd]
[f02606ce][cad66b72][79600d69][2dc93ac3][4ec5936c][ad60b947][732a25c3]
[f8953ee8][ddbf07e8][fa136be2]
+ Additions:
+ Added Str.uniparse as an alias to Str.parse-names [2a8287cf]
+ Added Cool candidate for .is-prime [f01c50f1][23701966][b2b39bad][893d09ff]
+ Added compile time error for misplaced whenever in v6.d.PREVIEW [7672e34c]
[0ec8e088]
+ Removals:
+ Removed deprecation fudge for native type instantiations [e0af68a0]
+ Removed :$CWD param in IO::Path.dir [b3e73b64]
+ Removed :$buffer param in IO::Handle.open [f415d61e]
+ Removed MONKEY BUSINESS env var [ac2e50c8]
+ Removed UInt64 (not to be confused with uint64) [cf154355]
+ Build system:
+ Fetch tags too to avoid potential missing tags [d93f8053]
+ Efficiency:
+ Made adding integers to Rats 22% faster [418fc068]
+ Made Blob.subbuf 1.8x faster [5f48c069]
+ Made `else`-less `if`/`with` blocks 3.4x faster in some cases [1815c368]
+ Made DateTime creation about 1.6x faster [36d71a39]
+ Made Date.new about 1.6x faster [b7170f83]
+ Made use of faster typechecks (7.5x faster) [4c9b84f8][8f71b0e0][10cd405f]
+ Made operator chains up to 2.4x faster [b77d8756]
+ Made `infix:<x>` with bools up to 2x faster [f99943d3]
+ Made `infix:<xx>` with bools up to 16x faster [ca4fcaca]
+ Made |(1,2,3) xx 42 about 3x faster [014f1712]
+ Slightly speeded up adding of `whenever`s [7230b765]
+ Slightly optimized Array.ASSIGN-POS [6e13bfa2][86d91f2d]
+ Made `$a ~= "b"` 70% faster [5dd9ed10]
+ Made constraint checks Num/Int/Str literals 1.1x-10x faster [65d4876d]
+ Micro-opted exit_handler [0415bb5f][b5b6e23b][421504bd][21bc5916]
+ Performatized MetaAssign with MetaReverse [858b659f]
+ Made .sum on 2-element Lists about 30% faster [0af3f4d1]
+ Optimized `supply emit <arg>` [81fe7b82]
+ Optimized Supply internals [32fbefab][9086f4c4][2548c2c5]
+ Improved first touch of Array/Hash variables [eeb3cc72]
+ Optimized more cases of private method calls [b6a236b9]
+ Tuned Lock::Async code stucture [f36a1f4e]
+ Special-cased one top-level whenever supply/react [e5f412d6][2192ddd1]
[2dbc2bcb][e072474e]
+ Made Promise construction slightly faster [2ac1ceaa]
+ Assorted internal improvements to CPU/memory use [00797d07][2130c097]
[7a3d9ce6][9c0db1cd][fbf432f9][4804003a][229b03fd][163f275b]
[83a619ec][64de571b][773d2b9e][0dc4f731][cdb53afa]
+ Internal:
+ Introduced ValueObjAt, the .WHICH for value types [202459ce][4790587f]
+ Introduced Proc!set-status [7a4743be]
The following people contributed to this release:
Zoffix Znet, Luca Ferrari, Elizabeth Mattijsen, Tom Browder,
Christian Bartolomäus, Aleks-Daniel Jakimenko-Aleksejev,
Jonathan Worthington, Pawel Murias, Will "Coke" Coleda, Itsuki Toyota,
Jeremy Studer, Alex Chen, JJ Merelo, Moritz Lenz, Jan-Olof Hendig,
Timo Paulssen, Samantha McVey, Wenzel P. P. Peppmeyer, Daniel Green,
David M. Cawthon, David Warring, Marcel Timmerman, Juan Julián Merelo Guervós,
Nick Logan, Brad Gilbert, Dan Zwell, Ben Davies
If you would like to contribute or find out more information, visit
<http://perl6.org>, <http://rakudo.org/how-to-help>, ask on the
<perl6-compiler@perl.org> mailing list, or ask on IRC #perl6 on freenode.
Additionally, we invite you to make a donation to The Perl Foundation
to sponsor Perl 6 development: <https://donate.perlfoundation.org/>
(put “Perl 6 Core Development Fund” in the ‘Purpose’ text field)
The next release of Rakudo (#120), is tentatively scheduled for 2018-02-17.
A list of the other planned release dates is available in the
“docs/release_guide.pod” file.
The development team appreciates feedback! If you’re using Rakudo, do
get back to us. Questions, comments, suggestions for improvements, cool
discoveries, incredible hacks, or any other feedback – get in touch with
us through (the above-mentioned) mailing list or IRC channel. Enjoy!
Please note that recent releases have known issues running on the JVM.
We are working to get the JVM backend working again but do not yet have
an estimated delivery date.
[^1]: See <http://moarvm.org/>
[^2]: What’s the difference between the Rakudo compiler and the Rakudo
Star distribution?
The Rakudo compiler is a compiler for the Perl 6 language.
Not much more.
The Rakudo Star distribution is the Rakudo compiler plus a selection
of useful Perl 6 modules, a module installer, Perl 6 introductory
documentation, and other software that can be used with the Rakudo
compiler to enhance its utility.
......@@ -47,8 +47,8 @@
<dc:title>The Perl Foundation</dc:title>
</cc:Agent>
</dc:rights>
<dc:source>https://raw.github.com/rakudo/rakudo/nom/docs/architecture.svg</dc:source>
<dc:relation>https://raw.github.com/rakudo/rakudo/nom/docs/architecture.html</dc:relation>
<dc:source>https://raw.github.com/rakudo/rakudo/master/docs/architecture.svg</dc:source>
<dc:relation>https://raw.github.com/rakudo/rakudo/master/docs/architecture.html</dc:relation>
<dc:language>en-US</dc:language>
</cc:Work>
</rdf:RDF>
......
......@@ -9,15 +9,13 @@ We want to provide a little more stability than we attain today in terms of
releases, but at the same time don't want to slow down development notably.
Therefore:
* Development work will continue on the nom branch (which we might rename,
but it'll end up bikeshed to death and it's in muscle memory, so we'll
probably leave it as is.)
* Commit policy on "nom" is pretty much as today
* The camelia bot will build from "nom"
* A "master" branch will be created and will become the default branch
* Development work will continue on the master branch
* Commit policy on "master" is pretty much as today
* The camelia bot will build from "master"
* Some other branch will be created and will become the default branch
people pull, that things like rakudobrew build if asked to get the
latest non-release, and that we release from
* An automated process will fast-forward master to catch up with nom at
* An automated process will fast-forward master to catch up with master at
regular intervals, provided it meets a bunch of automated quality checks
These automated quality checks are as follows:
......@@ -38,16 +36,16 @@ mistakes.
## Releases
Releases will be cut from master. The release manager will have the advantage
Releases will be cut from some branch. The release manager will have the advantage
of knowing they are releasing something that has already passed a bunch of