Announce: Rakudo Perl 6 compiler, Release #128 (2018.11)

--VLdklu7auSaEXsKrubEQDvI7hyGexQQB2
Content-Type: multipart/mixed; boundary="U1sIj3VOgpelvH9BsKgADrMcUuiHZQR5Q";
 protected-headers="v1"
From: Aleks-Daniel Jakimenko-Aleksejev <alex.jakimenko@gmail.com>
To: perl6-compiler@perl.org
Message-ID: <b20002fc-b2b8-6c0a-ca6c-02d6d4be3ac3@gmail.com>
Subject: Announce: Rakudo Perl 6 compiler, Release #128 (2018.11)

--U1sIj3VOgpelvH9BsKgADrMcUuiHZQR5Q
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
November 2018 release of Rakudo Perl=C2=A06 #128. Rakudo is an implementa=
tion of
Perl=C2=A06 on the Moar Virtual Machine[^1].

This release implements 6.c and 6.d versions of the Perl=C2=A06 specifica=
tion.
6.c version of the language is available if you use the `use v6.c`
version pragma, otherwise 6.d is the default.

Upcoming releases in 2018 will include new functionality that is not
part of 6.c or 6.d specifications, available with a lexically scoped
pragma. Our goal is to ensure that anything that is tested as part of
6.c and 6.d specifications will continue to work unchanged. There may
be incremental 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.11:
=C2=A0 + SPECIAL NOTES:
=C2=A0=C2=A0=C2=A0 + =F0=9F=8E=86=E2=9D=87=EF=B8=8F=F0=9F=94=A5 Default l=
anguage version is now `v6.d` =F0=9F=94=A5=E2=9D=87=EF=B8=8F=F0=9F=8E=86 =
[46ef0ea0]
=C2=A0 + Deprecations:
=C2=A0=C2=A0=C2=A0 + Deprecated `.path`/`.args` in `Proc::Async`, use `.c=
ommand`
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 instead [45bbc946]
=C2=A0 + Fixes:
=C2=A0=C2=A0=C2=A0 + Fixed `$*PERL.version` to always report the right ve=
rsion [c9ecfb7a]
=C2=A0=C2=A0=C2=A0 + Consistified `:U.pairup` with `:D.pairup` to return =
a Seq [d73272e4]
=C2=A0=C2=A0=C2=A0 + Provided a stable `.WHICH` for `Map` [4e0a1c24][0520=
67fd]
=C2=A0=C2=A0=C2=A0 + Made sure `DEPRECATED` reports location correctly wh=
en
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 using `:up` [8561d0ae]
=C2=A0=C2=A0=C2=A0 + Fixed literal `\` in `tr///` [85107ec0]
=C2=A0=C2=A0=C2=A0 + Fixed tap add/remove race in `Supplier` and `Supplie=
r::Preserving`
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [7ee1f3c5][68d79e70]
=C2=A0=C2=A0=C2=A0 + `QuantHash`es now properly report `.of` and `.keyof`=
 [8b93ec9f]
=C2=A0=C2=A0=C2=A0 + Added type constraints to port numbers in `IO::Socke=
t::Async`
[547f28ba]
=C2=A0=C2=A0=C2=A0 + Fixed re-initialization on some types of arrays [f1f=
a5adf]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [7262b4e8][49f07abe]
=C2=A0=C2=A0=C2=A0 + Gave 6.d correct `is rw` Proxy semantics [7d37f9aa]
=C2=A0=C2=A0=C2=A0 + Fixed `Match.^roles` [becbdeb9]
=C2=A0=C2=A0=C2=A0 + Fixed missing path volume after `..` is resolved [88=
54bbd3]
=C2=A0=C2=A0=C2=A0 + The `.values` method can now be used to change value=
s in
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 object hashes [a728bb2d]
=C2=A0=C2=A0=C2=A0 + Fixed shaped dynamic variables like `my %*a{Int}` [b=
cdf87a6]
=C2=A0=C2=A0=C2=A0 + Made `my @a is Blob / Buf =3D ...` work [762c708f]
=C2=A0=C2=A0=C2=A0 + Object hashes and `QuantHash`es can now be used with=

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 metaops [Hyper refactor]
=C2=A0=C2=A0=C2=A0 + Many improvements to the JS backend [32b7c089][f35dd=
301][9457f7e5]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0
[ea69c0a0][0e4969fe][9df074ba][78389aa2][1ef62aca][f460ad1a][cbbe16ed]
=C2=A0=C2=A0=C2=A0 + Improved error message when using placeholders with =
methods [deae5bcd]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [0896c301][48093d0d][0bda7dc1]=
[90103f6d][68b44e33][8549c4c1]
=C2=A0=C2=A0=C2=A0 + Various improvements to produced messages [15c16e35]=
[e6758492]
=C2=A0 + Additions:
=C2=A0=C2=A0=C2=A0 + Implemented `X::Language::TooLate` [3365094f]
=C2=A0=C2=A0=C2=A0 + `$*COLLATION.set` is no longer experimental [20c41ca=
5]
=C2=A0=C2=A0=C2=A0 + Added dynamic variable `$*FOLDING` [cec1f511]
=C2=A0 + Removals:
=C2=A0=C2=A0=C2=A0 + Removed unspecced `.allowed` attribute in `Pod::Bloc=
k::Code`
[5aba3e96]
=C2=A0=C2=A0=C2=A0 + Set operators `(<+)`, `=E2=89=BC`, `(>+)`, `=E2=89=BD=
` now die when used [951303f9]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [7a1a1868][81474bf9][5598f37d]=

=C2=A0=C2=A0=C2=A0 + `Associative >>op<< Iterable` now dies, as the resul=
ts are
indeterminate
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 due to random hash key order [=
Hyper refactor]
=C2=A0 + Build system:
=C2=A0=C2=A0=C2=A0 + Fixed `t/*/*.t` rule in generated Makefile [d2c7e327=
]
=C2=A0=C2=A0=C2=A0 + Made running timing based tests optional [72b896c8]
=C2=A0 + Efficiency:
=C2=A0=C2=A0=C2=A0 + Made `Int eqv Int` 3x and `int eqv int` 5x as fast
[fb9a0454][94dd0a41]
=C2=A0=C2=A0=C2=A0 + Made `ObjAt` `eqv` `ObjAt` also faster [5120d3d2]
=C2=A0=C2=A0=C2=A0 + Made `Hash`/`Map` slices about 5x as fast [6fe27894]=
[b83179f0]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [c4da4c7e][9a2c4b44]
=C2=A0=C2=A0=C2=A0 + Optimized various operations on `Date` and `DateTime=
` making
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 them up to 3x as fast [11cb4fa=
c][b6292fe9][08fac045][98d07cf6]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [b463746d][bf3eb8ec][a11d599f]=

=C2=A0=C2=A0=C2=A0 + Made metaops use the fast path for `&[+=3D]`-like op=
s [e7ce194a]
=C2=A0=C2=A0=C2=A0 + Hyper operator refactor makes many things like
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 `%h >>+>> 1` 1.3x to 8x as fas=
t [bfe2ad63][130cc817][0bc72e05]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [75c9456a][ec2848c=
4][f06e8582][73eb297f][194daab7][a575effe]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [c50cf82a][1a2b39d=
c][307a98bd][843118ea][6208c266][9221c08d]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [c03e71d5][78f6420=
3][63ae9dcc][fa5215b6][d5a751d9][674a0837]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [8fa72681][80edefc=
f][cf5c8a09][534d8f65][7fad12b0][800d8fbb]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [c3f03e67][1ed2b09=
8][21434dda][234e298b][e8285c01][32ab0d30]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [90ac0940][f7007ac=
0][dc67ee75][cae9847e][481dbf92][c4445649]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [19f0c842][86ce4f4=
e][50f2207b][2e5be5b8][1b7253df][64a47d87]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [005261a4][10693d1=
6]
=C2=A0 + Internal:
=C2=A0=C2=A0=C2=A0 + Changed CORE.d setting compilation to propagate indi=
cator flags
[4a6d9108]
=C2=A0=C2=A0=C2=A0 + Made sure we don't add object to serialization conte=
xt more
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 than once [3995e423]
=C2=A0=C2=A0=C2=A0 + New QAST to mbc compiler
[edc4c054][6aafe18d][f8be2fa0][656a8045][bb43acdb]
=C2=A0=C2=A0=C2=A0 + Added `Hash.STORE(\keys,\values)` [faa19ab9]
=C2=A0=C2=A0=C2=A0 + Introduced `R:I.AssociativeIterableKeys` [6fe27894]
=C2=A0=C2=A0=C2=A0 + Various internal optimizations
[5f1a81e0][1766435a][8e858c8d][00eb7b85]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [0fa6988c][bf3575cc][18ded174]=



The following people contributed to this release:

Stefan Seifert, Elizabeth Mattijsen, Zoffix Znet,
Aleks-Daniel Jakimenko-Aleksejev, Pawe=C5=82 Murias, Timo Paulssen, Nick =
Logan,
Tom Browder, Rob Hoelz, Jonathan Worthington, Joelle Maslak, Donald Hunte=
r,
Bart Wiegmans, Daniel Green, Fernando Correa de Oliveira,
Juan Juli=C3=A1n Merelo Guerv=C3=B3s, Samantha McVey

If you would like to contribute or find out more information, visit
<https://perl6.org>, <https://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=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 (#129), is tentatively scheduled for 2018-12-1=
5.

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.



--U1sIj3VOgpelvH9BsKgADrMcUuiHZQR5Q--

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

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

iQIzBAEBCgAdFiEE4aV1zMLVjHqlYJ/hRxDZ1DSko8YFAlwAWn0ACgkQRxDZ1DSk
o8bFyhAA1jhP7oy/joBM8c1KBldZ+DYFW3tyQ0C+GcHauK0V2yW9I/ehsxJRmgSj
EqfrQD0ce/HIfiexhxIKzQApZmyMxSI1n0U7jeoi7XQnOvaA9abMVZbLFQnqHxwc
X6uz8CxrO/MxrJ8cSmbcxVwAkIYTn2UhDlLRwJhnaGo/bB3gjyt3dQPjyUej4ueu
6hRPeK96AkmAQNkTts4AhGbgDuhZm8TIjIF9KtVR9G2j/GJhnl91XjFtc19e0GO2
i5tBZaO7hKUV1951nyn9lLupZefuWrZnvK+LyROItoMj+/YLB36Ejqn2XEcOTVpu
CUaGZMwOyTjXOsPag9huEriFglwcIWpVBYWPh1yrI9I3CL6Y1BmpQp9HglOS+4g8
m5jvXqIA47ogJZY8DhSMdtKYI97SHPCDsrKwfdCqJfTexox6uSvCjCv4zsd/JIXo
nB5NRZtHPBxs+pxgHDookvjxVXjQh7Tx9j/J6NiZbwx6/NnqslkmllaPWd+q0cem
HxzgKrl6jjSt2o5N+Qxx6j0/0nCtGfHZ2un0QUBpQ5mBk0wHCJswCNB3NnGi+JLn
AHd8K6WRptMFnNUTd0dRcL3SUNWpXZYpE99J6XTGTdhbE/GiS0qsdt0jBNWhZYn9
xQaC9M/DI7wnGY3xEkDZqX3bVWVVB6uC9N3laiZ+xI/caJuhEng=
=+w7T
-----END PGP SIGNATURE-----

--VLdklu7auSaEXsKrubEQDvI7hyGexQQB2--
0
alex
11/29/2018 9:30:36 PM
perl.perl6.compiler 1221 articles. 0 followers. Follow

0 Replies
12 Views

Similar Articles

[PageSpeed] 56

Reply: