Commit 26402e6b authored by Dominique Dumont's avatar Dominique Dumont

Imported Upstream version 2016.02

parent ac3aea9f
......@@ -211,6 +211,11 @@ D: Architect emeritus (0.0.1-0.1.1)
E: dan@sidhe.org
W: http://www.sidhe.org/~dan/blog/
N: Dave Rolsky
U: autarch
E: autarch@urth.org
W: http://blog.urth.org/
N: Dave Whipp
E: dwhipp@google.com
......@@ -577,7 +582,7 @@ E: pmichaud@pobox.com
N: Paul Cochrane
U: paultcochrane
E: paultcochrane@gmail.com
E: paul@liekut.de
N: Pawel Murias
E: pawelmurias@gmail.com
......
The Artistic License 2.0
Copyright (c) 2000-2015, The Perl Foundation.
Copyright (c) 2000-2016, The Perl Foundation.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
......
......@@ -93,14 +93,17 @@ docs/announce/2015.09.md
docs/announce/2015.10.md
docs/announce/2015.11.md
docs/announce/2015.12.md
docs/announce/2016.01.md
docs/announce/2016.02.md
docs/architecture.html
docs/architecture.svg
docs/compiler_overview.pod
docs/deprecations
docs/glossary.pod
docs/guide_to_setting.pod
docs/language_versions.md
docs/metamodel.pod
docs/metaobject-api.pod
docs/module_management.md
docs/obtaining-a-commit-bit.pod
docs/release_guide.pod
docs/running.pod
......@@ -238,10 +241,7 @@ src/core/HyperSeq.pm
src/core/HyperWorkBuffer.pm
src/core/IO.pm
src/core/IO/ArgFiles.pm
src/core/IO/Dir.pm
src/core/IO/File.pm
src/core/IO/Handle.pm
src/core/IO/Local.pm
src/core/IO/Notification.pm
src/core/IO/Path.pm
src/core/IO/Pipe.pm
......@@ -346,7 +346,6 @@ src/core/precedence.pm
src/core/set_operators.pm
src/core/signals.pm
src/core/stubs.pm
src/core/tai-utc.pm
src/core/traits.pm
src/main.nqp
src/perl6-debug.nqp
......@@ -429,6 +428,7 @@ t/04-nativecall/15-rw-args.t
t/04-nativecall/16-rt125408.t
t/04-nativecall/16-rt125729.t
t/04-nativecall/17-libnames.t
t/04-nativecall/18-routine-sig-sanity.t
t/04-nativecall/CompileTestLib.pm
t/fudgeandrun
t/harness
......
......@@ -2,7 +2,7 @@
This is Rakudo Perl, a Perl 6 compiler for the MoarVM and JVM.
Rakudo Perl is Copyright (C) 2008-2015, The Perl Foundation. Rakudo Perl
Rakudo Perl is Copyright (C) 2008-2016, The Perl Foundation. Rakudo Perl
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.
......
New in 2016.02
+ Fixes:
+ Many memory leaks fixed in MoarVM
+ Fix several issues with "require"
+ .perl of an iterated Seq (RT #127492)
+ Set.hash now returns an object hash (RT #127402)
+ Use the order of arguments in usage display, rather than hash order
+ Exception.fail now dies reliably outside of a routine
+ fix problem with Str.split with multiple overlapping needles
+ Map.Hash now correctly separates from the Map
+ Fix roundtrip issues of Instants
+ Specifying ::a now gives proper compile time error (RT #127504)
+ Rakudo jars are now installed in the proper location
+ Enums with a type object now fail with an NYI error
+ .first(:end) on uncached iterators no longer fails
+ Additions:
+ Buf.unshift/Buf.prepend
+ DateTime.new(y,mo,d,h,mi,s) fully positional candidate
+ Can now uninstall distributions
+ Date/DateTime now fully subclassable
+ REPL now supports multi-line statements (experimental)
+ Efficiency:
+ Str.trans can now be up to 160x faster
+ @a.chrs noq 3x faster, chrs(@a) now 9x faster
+ Many Map/Hash related functions can be up to 2x as fast
+ Magic increment/decrement on strings 2x as fast
+ Some percentages improvement in object creation, phaser handling,
summing, creating failures,
+ Object hashes re-implemented using 1 internal hash, instead of 2.
This results in about 10% less memory usage, and a few % less in CPU
New in 2016.01
+ Fixes:
+ Chained .grep calls on Supply fixed (RT #127297)
+ Fixed interaction with perl6-debug and precompilation that resulted in an
endless loop
+ re-enabled warning when smart-matching against a True or False literal
+ Fixed internal error when reporting certain type errors (RT #127207)
+ Fixed rare "duplicate definition of symbol" errors (RT #127107)
+ Fixed interpolating of pairs with non-key strings into signatures
+ Fixed error when smart-matching Seq against a Set (RT #127166)
+ Improved error message when smart-matching against an S///-expression
+ Fixed bad interaction between EXPORTHOW and multiple declarations (RT #126566)
+ Fixed various issues regarding precompilation
+ Improved accuracy of Complex.sqrt
+ hyper now preserves order of results, as designed
+ Range.sum on an empty, numeric Range is now 0
+ Fixed Promise.allof() with an empty list of promises (RT #127101)
+ Improved message on premature virtual method call (RT #127097)
+ Better error message for module load failures of types that are part of
the setting
+ Support for Readline in addition to Linenoise
New in 2015.12:
+ Features
+ Fixed size and multi-dimensional typed and native arrays
......
......@@ -269,7 +269,7 @@ Gabriele Renzi, Kenneth C. Rich, Jason Richmond, Ryan Richter,
Sebastian Riedel, Dennis Rieks, Jens Rieks, Lanny Ripple,
John Rizzo, rkhill, Andrew Robbins, Amos Robinson, Jonathan Rockway,
Stefano Rodighiero, Andrew Rodland, Lindolfo Rodrigues, Bob Rogers,
Dave Rolsky, Dave Rolsky, David Romano, ron, Eric J. Roode,
Dave Rolsky, David Romano, ron, Eric J. Roode,
Garret Rooney, Garrett Rooney, David Ross, Andreas Rottmann,
Brent Royal-Gordon, Shmarya Rubenstein, Sam Ruby, Simon Ruderich,
Daniel Ruoso, Jake Russo, ruz, Joseph Ryan, Gilbert Röhrbein,
......
# Announce: Rakudo Perl 6 compiler, Release #95 (2016.01)
On behalf of the Rakudo development team, I’m very happy to announce the
January 2016 release of Rakudo Perl 6 #95. Rakudo is an implementation of
Perl 6 on the Moar Virtual Machine[^1].
This is the first post-Christmas release of Rakudo Perl 6, and continues
to implement Perl v6.c. It includes bugfixes and optimizations on top of
the 2015.12 release of Rakudo, but no new features.
Thanks to all the individuals, companies, and organizations who donated
money, services, equipment, or their employee's time to the effort.
This includes efforts going back to 2000 over multiple Perl 6 related
projects. As with our developer list on the Christmas release, our
sincere apologies to anyone who was accidentally left off this list.
* ActiveState
* BBC
* Blackstar
* Booking.com
* craigslist
* Richard Dice of Toronto.pm
* Dijkmat
* Edument
* ETH Zürich
* Google Summer of Code (https://developers.google.com/open-source/gsoc/)
* Ian Hague
* Manning Publications
* Morgan Stanley
* Mozilla
* NLNet
* noris network AG
* O'Reilly Media
* Frédéric Schütz of the Swiss Institute of Bioinformatics
* Stonehenge Consulting
* The Perl Foundation
* TPF's Perl 6 Core Development Fund sponsors (http://www.perlfoundation.org/perl_6_core_development_fund)
* VA Linux
* WenZPerl
* Fritz Zaucker of Oetiker+Partner AG
Upcoming releases in 2016 will include new functionality that is not
part of the v6.c specification, available with a lexically scoped
pragma. Our goal is to insure that anything that is tested as part of the
v6.c spec 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 Rakudo Perl compiler follows a monthly release cycle, but please bear
with us post-Christmas. We are working hard to insure that we don’t break
anything now that we have a released spec, and it make take us a few months
to settle back into a rhythm.
The changes in this release are outlined below:
New in 2016.01:
+ Chained .grep calls on Supply fixed (RT #127297)
+ Fixed interaction with perl6-debug and precompilation that resulted in an
endless loop
+ re-enabled warning when smart-matching against a True or False literal
+ Fixed internal error when reporting certain type errors (RT #127207)
+ Fixed rare "duplicate definition of symbol" errors (RT #127107)
+ Fixed interpolating of pairs with non-key strings into signatures
+ Fixed error when smart-matching Seq against a Set (RT #127166)
+ Improved error message when smart-matching against an S///-expression
+ Fixed bad interaction between EXPORTHOW and multiple declarations (RT #126566)
+ Fixed various issues regarding precompilation
+ Improved accuracy of Complex.sqrt
+ hyper now preserves order of results, as designed
+ Range.sum on an empty, numeric Range is now 0
+ Fixed Promise.allof() with an empty list of promises (RT #127101)
+ Improved message on premature virtual method call (RT #127097)
+ Better error message for module load failures of types that are part of
the setting
+ Support for Readline in addition to Linenoise
The following people contributed to this release:
Geoffrey Broadwell, Piers Cawley, Paul Cochrane, Will "Coke" Coleda,
Panu Ervamaa , Lloyd Fournier, Rob Hoelz, Donald Hunter, Dan Kogai,
Tobias Leich, Moritz Lenz, Nick Logan, Dagfinn Ilmari Mannsåker,
Elizabeth Mattijsen, Pawel Murias, Steve Mynott , Anthony Parsons,
Nova Patch, Timo Paulssen, Francois Perrad, Dave Rolsky, Stefan Seifert,
skids, John Spurr, Tommy Stanton, Jonathan Stowe, Larry Wall, David Warring,
Andy Weidenbaum, Bart Wiegmans, Jonathan Worthington, Jimmy Zhuo
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.
The next release of Rakudo (#96), is tentatively scheduled for 20 February 2015.
A list of the other planned release dates and code names for future
releases 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, the most recent
incarnation of the “Using Perl 6” book, and other software that can
be used with the Rakudo compiler to enhance its utility. Rakudo Star
is meant for early adopters who wish to explore what’s possible with
Rakudo Perl 6 and provide feedback on what works, what doesn’t, and
what else they would like to see included in the distribution.
# Announce: Rakudo Perl 6 compiler, Release #96 (2016.02)
On behalf of the Rakudo development team, I’m very happy to announce the
February 2016 release of Rakudo Perl 6 #96. 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, but no new features.
Upcoming releases in 2016 will include new functionality that is not
part of the 6.c specification, available with a lexically scoped
pragma. Our goal is to insure 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 Rakudo Perl compiler follows a monthly release cycle, but please bear
with us post-Christmas. We are working hard to insure that we don’t break
anything now that we have a released spec, and it make take us a few months
to settle back into a rhythm.
The changes in this release are outlined below:
New in 2016.02:
+ Fixes:
+ Many memory leaks fixed in MoarVM
+ Set.hash now returns an object hash (RT #127402)
+ Use the order of arguments in usage display, rather than hash order
+ Specifying ::a now gives proper compile time error (RT #127504)
+ Enums with a type object now fail with an NYI error
+ .first(:end) on uncached iterators no longer fails
+ Additions:
+ REPL now supports multi-line statements (experimental)
+ Can now uninstall distributions
+ Efficiency:
+ Str.trans can now be up to 160x faster
+ @a.chrs noq 3x faster, chrs(@a) now 9x faster
These are only some of the changes in this release. For a more
detailed list, see “docs/ChangeLog”.
The following people contributed to this release:
Elizabeth Mattijsen, Pawel Murias, Jonathan Worthington, Will "Coke" Coleda,
Rob Hoelz, Moritz Lenz, Tobias Leich, Salvador Ortiz, Donald Hunter,
Timo Paulssen, niner, Stefan Seifert, Aleks-Daniel Jakimenko-Aleksejev,
Dave Rolsky, Jonathan Stowe, LLFourn, Nick Logan, okaoka, John Spurr,
Páll Haraldsson, Carl Masak, Zoffix Znet, Sylvain Colinet, Andy Weidenbaum,
Tommy Stanton
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.
The next release of Rakudo (#97), is tentatively scheduled for 19 March 2016.
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, the most recent
incarnation of the “Using Perl 6” book, and other software that can
be used with the Rakudo compiler to enhance its utility. Rakudo Star
is meant for early adopters who wish to explore what’s possible with
Rakudo Perl 6 and provide feedback on what works, what doesn’t, and
what else they would like to see included in the distribution.
## $Id$
=head1 glossary.pod - glossary of terms used in the Rakudo compiler
=over
=item action method
Action methods are typically used to perform transformations and
other actions while parsing a source code program. Parse grammars
typically use the special token C< {*} > to indicate the point
at which an action method is to be invoked. In addition, a line
containing C< {*} > may also use C< #= > to specify a "key" that
is to be passed to the action method.
=item NQP - Not Quite Perl
NQP is a primitive language for writing subroutines and methods
using a subset of the Perl 6 syntax. It's not intended to be a
full-fledged programming language, nor does it provide a runtime
environment beyond the basic VM primitives. Compilers typically
use NQP to compile "action methods" that convert a parse
tree into its equivalent abstract syntax tree representation.
=item Rakudo
Rakudo is the name of a Perl 6 implementation that runs on MoarVM and the JVM.
An abbreviation of "Rakuda-do," which, when translated from Japanese,
means "The Way of the Camel". In Japanese, "Rakudo" means "Paradise."
For more info, see L<http://use.perl.org/~pmichaud/journal/35400>.
=item STD.pm
STD.pm is the "standard" Perl 6 grammar definition,
see L<https://github.com/perl6/std/>.
At the moment STD.pm is not really a "specification" in a
proscriptive sense -- it's more of a guideline or model for
Perl 6 implementations to follow. The goal is that eventually
the various implementations will converge on a common grammar
(that will probably look a lot like STD.pm).
=back
=cut
=head1 AUTHORS
Patrick Michaud <pmichaud@pobox.com> is the primary author
and maintainer.
=head1 COPYRIGHT
Copyright (C) 2007, The Perl Foundation.
=cut
# Local Variables:
# fill-column: 100
# End:
# vim: expandtab shiftwidth=4:
# Proposal for 6.c release and beyond
For review, nothing set in sand yet (and these things should never be set in
stone; we need to keep learning and adapting them over time).
## Rakudo branches
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
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
regular intervals, provided it meets a bunch of automated quality checks
These automated quality checks are as follows:
* Clean test/spectest on Moar
* Clean test/spectest on JVM
* Panda bootstrap works
* We'll identify and snapshot a selection of modules (around 100) that have
passing tests. We should be able to build and pass tests on this selection
(showing we didn't regress on a bunch of ecosystem things). Note that we
snapshot them so as to avoid issues with changes in the modules themselves
that cause failures that are not Rakudo bugs. We'll revise this set every
so often to remain representative.
GitHub doesn't let us configure per-branch permissions, so we can't prevent
pushes to master that way. But we can have a pre-push hook to try and prevent
mistakes.
## Releases
Releases will be cut from master. The release manager will have the advantage
of knowing they are release something that has already passed a bunch of
automated quality checks. The release process will be something like:
* Create a release branch based off master
* Do release-related commits in the branch (announcement, last change log
updates, bump VERSION, etc.)
* Cut the release (produce the tarball, etc.)
* Tag the released commit
* Merge the release branch into nom (so it will end up merged into master
also later)
We can script some of this (the branch creation, stubbing announcement,
bumping VERSION, and then another script to do the merge back into nom
afterwards).
## Spectests
The Perl 6 language is defined by its test suite. A particular release of the
language is, therefore, a release of the test suite. To make sure we don't
regress on things that we decided are part of the 6.c language, we need to
make sure that we don't unknowingly change such tests.
One way to do this is:
1. Create a 6c directory in roast.
2. Create a speculation directory in roast.
3. Look through spectest.data for tests we run, but that we don't think are
part of 6.c (the macros tests are such an example: we know we do not want
to commit to the current implementation.) Move those tests into the
speculation directory (retaining the Snn-foo directory structure).
4. Move all remaining unfudged test files that we run in t/spectest.data on
Moar into the 6c directory (again, retaining Snn-foo structure).
5. Split the Moar-fudged test files up into the fudged tests (which go in
speculation) and the passing ones (which go into 6c).
Then, it will be really, really obvious is we go modifying a test that was in
the 6.c release (which we almost certainly shouldn't do most of the time; at
most we may add a deprecated marker if we decided that, say, 6.f is not going
to pass this test any more).
## Language versioning
The Perl 6 language has version numbers v6.c, v6.d, v6.e, and so forth. These
are very much like C has C89, C99, and C11. Each language version is defined
by its test suite.
Rakudo is a Perl 6 implementation, as GCC, Clang, and MSVC are implementations
of the C language. Rakudo has monthly releases (2015.12, 2016.01, etc.) For
the moment, we don't make any distinction between these releases; they are all
equally "supported".
Each Rakudo release must indicate the maximum version of Perl 6 it supports,
and this should be included prominently in the release announcement, for
example in the title, such as: "Rakudo 2016.01 (implements Perl 6.c)".
A Perl 6 source file without a "use v???" line will be run at the latest
language version that the current implementation supports (as will -e and
the REPL). A source file with "use v6.X" (where X is meta) should be
treated as follows:
* If X is higher than the implementation currently supports, then it should
refuse to go any further.
* If X is lower than the implementation supports, it should also refuse to
go any further.
* Otherwise, it enables everything that should be available at that language
version.
* A straight "use v6" at the top level is equivalent to "use v6.c". However,
a "use v6" after a "use v6.d" implies 6.d. This is to facilitate language
version switching between 5/6 ala. the v5 module.
* The spectests for 6.c should all "use v6.c"
The way we choose to support different versions will evolve over time, as we
(hopefully) get collectively smart enough to figure it out. :-) But roughly,
we'll do something like this:
* For added syntax, the grammar should check the language version in an
assertion
* Additions to the setting will be made in a "nested" setting. That is, a
"use v6.d" will load CORE.d.setting or so. It can use augment and
supercede in order to effect changes.
To facilitate this, for now at least, we'll require that a "use v6.X" is the
first non-comment, non-whitespace declaration in a file. Anything later will
trigger a "too late to switch Perl 6 language version".
## Experimental features
Experimental features can be turned on with a pragma:
use experimental :macros;
These are implementation specific and can go away at any time, though we'll
likely be kind enough to give deprecation cycles.
## Trying out the "next version"
To try out v6.d before the compiler officialy supports it, you can write:
use v6.d.PREVIEW;
## If anyone asks about 6.d and beyond...
About Perl 6.d, expect an incremental update.
* It'll focus heavily on broadening test coverage to tighten up the language
definition
* It will include various small things we wished we could have done in 6.c,
but just didn't have time: the missing regex backtracking controls, the
sub-byte int types, non-parameter cases of coercion types, things we
discover people miss especially in IO, etc.
* Goal is sometime in 2016; we'll judge it based upon what we see (like, if
there is a strong desire to get an incremental update out the door to cover
things people really block on not having, we can do so)
A lot of effort in 2016 will go on performance engineering and making things
more robust. Macros and slangs are the biggest post-6.c project language wise;
if they happen to be in great shape by 6.d then they can make it in, but if
not they'd be a reasonable target for 6.e.
\ No newline at end of file
This diff is collapsed.
......@@ -13,8 +13,10 @@ end of this document.
=head2 Planned future releases
2016-01-16 Rakudo #95
2016-02-20 Rakudo #96
Note that we are trying very hard to insure there are no backward
compatibility issues post Christmas. As such, we may end up delaying
some releases to insure any compatibility issues are resolved.
2016-03-19 Rakudo #97
2016-04-16 Rakudo #98
2016-05-21 Rakudo #99
......@@ -41,8 +43,7 @@ A few days before the Rakudo release, it’s a good idea to...
=item *
Remind people of the upcoming release, invite people to
update the ChangeLog file, update the ROADMAP, choose a
release name, etc.
update the ChangeLog file, update the ROADMAP, etc.
=item *
......@@ -84,12 +85,12 @@ in a year not reflected by the file’s copyright notice.)
Update Rakudo’s leap-second tables:
$ perl tools/update-tai-utc.pl src/core/tai-utc.pm
$ perl tools/update-tai-utc.pl
If a new leap second has been announced, F<tai-utc.pm> will be modified, so
commit the new version:
$ git commit src/core/tai-utc.pm
$ git commit src
But probably there won’t be any new leap seconds, in which case the file
will be unchanged.
......@@ -112,10 +113,7 @@ This can be conveniently done with
When it’s time to cut the release, finalize the new release
announcement in docs/announce/YYYY.MM.md . (If one hasn’t already
been created, see step 1 above.) Highlight areas in which the
new release is significant. If possible, also give some small
details about the choice of release name. (If the details
are a bit lengthy, this can often best be done as a separate
section at the bottom of the announcement.)
new release is significant.
Include a list of contributors since the last release in the announcement.
You can get an automatically generated list by running
......@@ -170,6 +168,9 @@ Make sure everything compiles and runs from a known clean state:
$ make
$ make test
$ make install
$ (cd t/spec & git checkout 6.c) # test stable language spec
$ make stresstest
$ (cd t/spec & git checkout master) # test latest language spec
$ make stresstest
There are many tests to run for the stresstest target. If
......@@ -351,11 +352,15 @@ Previous releases were bundled as part of monthly Parrot releases.
2015-09-17 Rakudo #91 "Zürich" (Coke)
2015-10-22 Rakudo #92 "Niceville" (Coke) # v6.b
2015-11-19 Rakudo #93 "Bend" (Coke)
2015-12-25 Rakudo #94 "коледа" (Coke) # v6.c
2016-02-01 Rakudo #95 "2016.01" (Coke)
2016-02-02 2016.01.1 (Coke)
2016-02-21 Rakudo #96 "2016.02" (Coke)
=head1 COPYRIGHT
Copyright (C) 2009-2015, The Perl Foundation.
Copyright (C) 2009-2016, The Perl Foundation.
=cut
......
......@@ -44,39 +44,97 @@ The supported values for C<--target> are:
For C<--profile-filename>, specifying a name ending in C<.json> will write a raw JSON profile dump.
The default if this is omitted is C<profile-I<[timestamp]>.html>.
=head1 List of env vars used in Rakudo
=head1 ENVIRONMENT VARIABLES
Rakudo's behavior can be tweaked by a (growing) number of environment variables; this section
attempts to document all those currently in use.
=head2 Module Loading
=over
=item C<RAKUDOLIB>, C<PERL6LIB> (src/core/Inc.pm)
=item C<RAKUDOLIB>, C<PERL6LIB> (I<Str>; F<src/core/Inc.pm>)
Appends a comma-delimited list of paths to C<@INC>. C<RAKUDOLIB> is evaluated first.
=item C<RAKUDO_MODULE_DEBUG> (I<Bool>; F<src/Perl6/ModuleLoader.pm>)
Causes the module loader to print debugging information to standard error.
Appends a delimited list of paths to C<@INC>. C<RAKUDOLIB> is evaluated first.
=back
=head2 Error Message Verbosity and Strictness
=over
=item C<RAKUDO_MODULE_DEBUG> (src/Perl6/ModuleLoader.pm)
=item C<RAKUDO_NO_DEPRECATIONS> (I<Bool>; F<src/core/Deprecations.pm>)
If set to a non-false value, causes the module loader to print debugging information to standard
error.
If true, suppresses deprecation warnings triggered by the C<is DEPRECATED> trait.
=item C<RAKUDO_ERROR_COLOR> (src/core/Exception.pm)
=item C<RAKUDO_DEPRECATIONS_FATAL> (I<Bool>; F<src/core/Deprecations.pm>)
If true, deprecation warnings become thrown exceptions.
=item C<RAKUDO_VERBOSE_STACKFRAME> (I<UInt>; F<src/core/Backtrace.pm>)
Displays source code in stack frames surrounded by the specified number of lines of context.
=item C<RAKUDO_BACKTRACE_SETTING> (I<Bool>; F<src/core/Backtrace.pm>)
Controls whether .setting files are included in backtraces.
=back
=head2 Affecting Precompilation
=over
=item C<RAKUDO_PREFIX> (I<Str>; F<src/core/CompUnit/RepositoryRegistry.pm>)