Announce: Rakudo Perl 6 compiler, Release #126 (2018.09)

[email protected] (Aleks-Daniel Jakimenko-Aleksejev) Sun, 23 Sep 2018 16:33:22 +0300
Newsgroups perl.perl6.compiler
Message-ID <[email protected]>
--y8asA0zrxuhZJjU7yCgtNyVTXjxOsq4Gz
Content-Type: multipart/mixed; boundary="rANd7ggXbBEZBg8SFkKgTyy4HmVYFr5fT";
 protected-headers="v1"
From: Aleks-Daniel Jakimenko-Aleksejev <[email protected]>
To: [email protected]
Message-ID: <[email protected]>
Subject: Announce: Rakudo Perl 6 compiler, Release #126 (2018.09)

--rANd7ggXbBEZBg8SFkKgTyy4HmVYFr5fT
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Language: en-US

On behalf of the Rakudo development team, I=E2=80=99m very happy to annou=
nce the
September 2018 release of Rakudo Perl=C2=A06 #126. Rakudo is an implement=
ation of
Perl=C2=A06 on the Moar Virtual Machine[^1].

This release implements the 6.c version of the Perl=C2=A06 specifications=
=2E
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 increment=
al
spec releases this year as well.

The tarball for this release is available from
<https://rakudo.org/files/rakudo>.

Please note: This announcement is not for the Rakudo Star
distribution[^2] =E2=80=94 it=E2=80=99s announcing a new release of the c=
ompiler
only. For the latest Rakudo Star release, see
<https://rakudo.org/files/star>.

The changes in this release are outlined below:

New in 2018.09:
=C2=A0 + Fixes:
=C2=A0=C2=A0=C2=A0 + Made native arrays throw when storing a lazy Seq [fc=
8c7f84][bb963a25]
=C2=A0=C2=A0=C2=A0 + Fixed smartmatching of Seqs against Iterables [d3cac=
14e]
=C2=A0=C2=A0=C2=A0 + Made it possible to emit Mu [3f10e2d1][db3768e3]
=C2=A0=C2=A0=C2=A0 + Fixed setting of `$/` when matching NDF [cf1df1d7]
=C2=A0=C2=A0=C2=A0 + Fixed prefix calls with `.:< ... >` on integer liter=
als [ec366c30]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [1835f280]
=C2=A0=C2=A0=C2=A0 + `.Array` on shaped arrays now returns a proper `Arra=
y` instead of
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 dying [efbd58c8]
=C2=A0=C2=A0=C2=A0 + Fixed `.keys` on one-dimensional native shaped array=
s [5a9105ae]
=C2=A0=C2=A0=C2=A0 + Made `Parameter.twigil` also work on dynamic Paramet=
ers [39f2d68a]
=C2=A0=C2=A0=C2=A0 + Made sure the decoder is detached when closing handl=
es [b07874e0]
=C2=A0=C2=A0=C2=A0 + Made sure `X` handles empty lists on RHS [6c93fde8]
=C2=A0=C2=A0=C2=A0 + Various improvements to produced messages [d419a313]=
[c8db35e3]
=C2=A0 + Additions:
=C2=A0=C2=A0=C2=A0 + Added a `PredictiveIterator` role for `Iterator`s th=
at can
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 determine how many values can =
still be generated, without
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 actually generating them [3ffa=
cb9f][5cbbcc6e][842d4b32]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [78ae9028][000ac81e][c2c9df1c]=
[cdf65305][ad64c757][eefbe6e1]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [da663afd][e717e21b][ca5825b4]=

=C2=A0=C2=A0=C2=A0 + Added `use isms <C++>` and make `use isms` assume al=
l available
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "isms" (now 'Perl5' and 'C++')=
 [57f89278][c6c2b6c4][528def48]
=C2=A0=C2=A0=C2=A0 + Partially implemented Pod `#` alias for `%config :nu=
mbered` [b4bf1660]
=C2=A0=C2=A0=C2=A0 + Added utf16 decodestream and file handle write suppo=
rt [8fcebb86]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [e8a7564d][0bf909bb][d275ea09]=

=C2=A0 + Efficiency:
=C2=A0=C2=A0=C2=A0 + Made `Str.words` about 3x as fast [b8f37bfc]
=C2=A0=C2=A0=C2=A0 + Made `Str.lines` about 2x as fast [3dd09be3]
=C2=A0=C2=A0=C2=A0 + Made `IO::Handle.lines` about 1.2x as fast [874ec002=
][d198c1b7]
=C2=A0=C2=A0=C2=A0 + Made `IO::Path.lines` about 1.1x as fast [1905838c]
=C2=A0=C2=A0=C2=A0 + Made `Str.chop(N)` about 5x as fast [07089e89]
=C2=A0=C2=A0=C2=A0 + Made `Str.(r)index(needle,pos)` about 1.2x as fast [=
5d1d792a]
=C2=A0=C2=A0=C2=A0 + Improved `.elems` and `.Bool` on `Seq` by adding
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 `count-only`/`bool-only` metho=
ds [89055755][86468e1e][070780e0]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [64ddacab][9738dfbf][d1e80dfe]=
[9ff17367][b1c645ed][bd832061]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [708ff624][5f3c2bfc][2a011a0e]=
[faed3a9c][e73e3ecc][78bebc7a]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [d970c2b3][f5ebad98]
=C2=A0 + Internal:
=C2=A0=C2=A0=C2=A0 + Moved some iterators from Range to `R::Iterator` [fc=
d45ff8]
=C2=A0=C2=A0=C2=A0 + Streamlined quoted words handling [92951168][ae739ad=
f]
=C2=A0=C2=A0=C2=A0 + Fixed a bug in the optimizer where optimizations wer=
e
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 improperly combining [e436f4e5=
]
=C2=A0=C2=A0=C2=A0 + Simplified `Map.kv` iterator [6977973d]
=C2=A0=C2=A0=C2=A0 + Replaced use of `p6bool` by `hllbool` and `hllboolfo=
r` [672196cd]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [20feda70][170ffd40][7e69c640]=
[3272207a][f1f6825b]
=C2=A0=C2=A0=C2=A0 + Removed obsolete p6settypes extop [de4e8225]
=C2=A0=C2=A0=C2=A0 + Standardized use of proto's on `.STORE` methods [ed9=
b48de]
=C2=A0=C2=A0=C2=A0 + Removed EmptySeq [a4db33e7]


The following people contributed to this release:

Zoffix Znet, Elizabeth Mattijsen, Pawe=C5=82 Murias, Bart Wiegmans,
Samantha McVey, Stefan Seifert, Jeremy Studer, Timo Paulssen,
Aleks-Daniel Jakimenko-Aleksejev, Will "Coke" Coleda, Daniel Green,
Tom Browder, MorayJ, Naoum Hankache, Nick Logan, Ben Davies, Curt Tilmes,=

David M. Cawthon, Lichtkind, Luis F. Uceta, =E9=99=88=E6=A2=93=E7=AB=8B, =
Alexander, Daniel Mita,
Itsuki Toyota, Jonathan Stowe, Jonathan Worthington,
Juan Juli=C3=A1n Merelo Guerv=C3=B3s, Robert Lemmen, Steve Mynott, Tobias=
 Boege

If you would like to contribute or find out more information, visit
<https://perl6.org>, <https://rakudo.org/how-to-help>, ask on the
<[email protected]> mailing list, or ask on IRC #perl6 on freenode.=


Additionally, we invite you to make a donation to The Perl Foundation
to sponsor Perl=C2=A06 development: <https://donate.perlfoundation.org/>
(put =E2=80=9CPerl=C2=A06 Core Development Fund=E2=80=9D in the =E2=80=98=
Purpose=E2=80=99 text field)

The next release of Rakudo (#127), is tentatively scheduled for 2018-10-2=
0.

A list of the other planned release dates is available in the
=E2=80=9Cdocs/release_guide.pod=E2=80=9D file.

The development team appreciates feedback! If you=E2=80=99re using Rakudo=
, do
get back to us. Questions, comments, suggestions for improvements, cool
discoveries, incredible hacks, or any other feedback =E2=80=93 get in tou=
ch 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=E2=80=99s the difference between the Rakudo compiler and the R=
akudo
Star distribution?

The Rakudo compiler is a compiler for the Perl=C2=A06 language.
Not much more.

The Rakudo Star distribution is the Rakudo compiler plus a selection
of useful Perl=C2=A06 modules, a module installer, Perl=C2=A06 introducto=
ry
documentation, and other software that can be used with the Rakudo
compiler to enhance its utility.



--rANd7ggXbBEZBg8SFkKgTyy4HmVYFr5fT--

--y8asA0zrxuhZJjU7yCgtNyVTXjxOsq4Gz
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEE4aV1zMLVjHqlYJ/hRxDZ1DSko8YFAlunliIACgkQRxDZ1DSk
o8bBwxAAz2mJSLdcE+WHOdzAQpc3nNiJY4PJnSP1WO+XOkmI9yBYW60i3la9VaE8
84PGA1lz3iBsNRTIqAZQXLyMoNxf5ttcqs/se7TjWMwVS2eN/ePjpLRTmk41P+RH
wjjVmQ2M5K2vvitHa4CWu/KRKHYJQsfEM/nE9cpiBLLif7O37FAk38AM9yj+eW0z
7/UTJ6s1uUtcSN2q7VXymfITSaPViLPh4cwKatXcL0ZUcELpCpxGnJR4xweRRVf3
mYRmnwz5qbtISHHUXysfywL4Ql+gOOmg7tKeXIJf+7iI+UpJsiHti5gpDB92sgaT
vesxPWNPN2OTbc44NRcSsJ/z3uUnBNqktkiWdVyrr3NI9voBPgCiQtV7EZ8yz6T2
pPNAibg1GTgj068kCKWMsWdj3n8fJ68bpbpYKyoKS1uOeghl1HqA55Be2P/qT7Q9
DeCCmkusNGLRfHVsCZ+v36r/isk7kJklpKOZzo3Ihts7gX7IOz/SGTp7bBGLe5O3
TEuLXUCLXPpPDwIgE/stsEIan7h7tyNp5ZbaW3ZMhnXSyVB8Hkbfj5bBoEfIVgY9
nyUhpjfnV4l+icTRA8e+Xnv0gmHl8QlRKmTY45YVNFPJnUGAiPFpo++LPBCExr4m
tt/HmRfrcMAZRtZwu6JA+FU60UxhaWLxubF2E6HOpgkpVO8Q5AU=
=aJQD
-----END PGP SIGNATURE-----

--y8asA0zrxuhZJjU7yCgtNyVTXjxOsq4Gz--