Announce: Rakudo Perl 6 compiler, Release #129 (2018.12)

[email protected] (Aleks-Daniel Jakimenko-Aleksejev) Fri, 21 Dec 2018 08:34:50 +0200
Newsgroups perl.perl6.compiler
Message-ID <[email protected]>
--Zo52LN5hdQJvABerWlGJRgKR9i7pRKif2
Content-Type: multipart/mixed; boundary="WDLYCVMVTINtOgBclBnc0RmFSxTjlb1bR";
 protected-headers="v1"
From: Aleks-Daniel Jakimenko-Aleksejev <[email protected]>
To: [email protected]
Message-ID: <[email protected]>
Subject: Announce: Rakudo Perl 6 compiler, Release #129 (2018.12)

--WDLYCVMVTINtOgBclBnc0RmFSxTjlb1bR
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
December 2018 release of Rakudo Perl=C2=A06 #129. 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 2019 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.12:
=C2=A0 + Fixes:
=C2=A0=C2=A0=C2=A0 + Fixed infiniloops with some set operators [99d94db4]=
[9f5cc8d1]
=C2=A0=C2=A0=C2=A0 + Fixed regression in handling of `"1"..9` [d92b155c]
=C2=A0=C2=A0=C2=A0 + Fixed use of `Proxy` in a class attribute using
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 the `Attribute`.`get_value`/`s=
et_value` interface [a5411e45]
=C2=A0=C2=A0=C2=A0 + Fixed semantics of `minpairs`/`maxpairs` (ignore und=
efined values)
[7bf7a2c6]
=C2=A0=C2=A0=C2=A0 + Fixed error on `@a > 2` if `@a` is a native array
=C2=A0=C2=A0=C2=A0 + Fixed error reporting on initializing shaped array w=
ith
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 improperly shaped data [fd216f=
ec]
=C2=A0=C2=A0=C2=A0 + Negative indexes on native arrays are now checked pr=
operly [dd2af90c]
=C2=A0=C2=A0=C2=A0 + Fixed use of uninitialized value in `IO::Notificatio=
n` [83d0056b]
=C2=A0=C2=A0=C2=A0 + Enums can now have private methods mixed in [3c2cfb2=
2]
=C2=A0=C2=A0=C2=A0 + Fixed resource content lookup for `Distribution::Pat=
h` [370310b3]
=C2=A0=C2=A0=C2=A0 + Fixed precompilation when cwd gets changed at run ti=
me [e2e5cc53]
=C2=A0=C2=A0=C2=A0 + Shared library versions are now ignored on OpenBSD [=
5603128e]
=C2=A0=C2=A0=C2=A0 + Many improvements to the JS backend [1865db0d][fdd24=
9a3][194c84b9]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [1dd59f10][52c2af5d][8b13655c]=
[2869a48b][cf5432ae][758caa89]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [e0b943d0][a759f9d7]
=C2=A0=C2=A0=C2=A0 + Various improvements to produced messages [869b9e58]=
[abfb9a40]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [79824db5][55d08c8f][24c8e172]=

=C2=A0 + Additions:
=C2=A0=C2=A0=C2=A0 + Added `Endian` enum and implemented new methods in `=
blob8`/`buf8`
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for reading/writing native val=
ues [46d4c9fe][011c6f11][f66861dc]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [f0279313][b781f8cc][543219c9]=
[77182713][06156a7c]
=C2=A0=C2=A0=C2=A0 + Added `Kernel.endian` [2a761ca7][af43b159]
=C2=A0=C2=A0=C2=A0 + Implemented `Blob.readint` / `Buf.writeint` [4f14d71=
3][fecfb22d]
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [5cc0e02d][79dd1c8e][ceaf7218]=
[631940c7][38afa2d6][e7b61aff]
=C2=A0=C2=A0=C2=A0 + Added `.native-descriptor` for async sockets [a4db91=
39][2fd90b1e]
=C2=A0=C2=A0=C2=A0 + Added `.Real` method to native arrays [dd3f91a2]
=C2=A0=C2=A0=C2=A0 + Implemented `last` and `LAST` in `whenever` blocks [=
890d628a]
=C2=A0 + Efficiency:
=C2=A0=C2=A0=C2=A0 + Made `<$rx>` interpolation 1.05x as fast [62243cd9]
=C2=A0=C2=A0=C2=A0 + Made simple regex matches 1.05x as fast [01c56b48]
=C2=A0=C2=A0=C2=A0 + Other minor optimizations [93ea7ed1][a0cb89a7][adb85=
609][6c2f3c83]
=C2=A0 + Internal:
=C2=A0=C2=A0=C2=A0 + Introduced a more generally usable `X::ArrayShapeMis=
match` error
[dd030145]
=C2=A0=C2=A0=C2=A0 + Internal micro-optimizations [38bc682b][f18432ea]


The following people contributed to this release:

Pawe=C5=82 Murias, Elizabeth Mattijsen, Aleks-Daniel Jakimenko-Aleksejev,=

Stefan Seifert, Jonathan Worthington, Ben Davies, Petr Rockai, Nick Logan=
,
Samantha McVey, Timo Paulssen, Momo

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 (#130), is tentatively scheduled for 2019-01-1=
9.

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.



--WDLYCVMVTINtOgBclBnc0RmFSxTjlb1bR--

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

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

iQIzBAEBCgAdFiEE4aV1zMLVjHqlYJ/hRxDZ1DSko8YFAlwciYsACgkQRxDZ1DSk
o8ZhKxAAwc+IsyclDpMo0RLvRdX8upYPtPvEKmspg+gNCWTuqqMJ5vAl52+uwWVG
zMQefwciwlV+9s1nWAC/Qrx8R5upLn1/gx4nvln2A+KcDFal0fvg3KNEDL71R9ob
mgHOjG4G5/tIZ1lDf1PPG2pTWV7hGa4ypIHtQ0oTykhne3X1o9k03LrrqYS8lwDl
qOww2+lEkv9j9UvTwCNuTqKrx+i+GNufqSgCeFNockBYac9VsO2o5dfDEbrOF0bh
Ji0EJwPVvNkPY2PGrdWz/+AntnkyuRcbJuJ+7jI6cHC63CqvL6z5lzp3gH8C1/Gz
PgVFyZcbznmgr9FXEWGV39ku3cXC5pchF7ExeZDVC49/VvRKeEexM00Sy1sytnSS
9j14pvVcqwvDG1dwHbtIt4X0vwt+VSIHz1tAV9FgKLATs2f4Gs+KSg3tBxbx7KJc
REsegQqcCv8k8yRXmlMXRVefMZ02f2jlnzjTsaIFLOfG39jcHO4UxVSiIQtDycNs
/l78N5FF09Z8EINgE7zyAFHtEHEMEggjPq7UJY70atmUsdxLqbO6e7fG5N1kKcpB
um8JMTj5JP6derfcoPrNAVNuioeDIRLfcemcGqUcLc4704+tqB1dvsDq4dTcYRTl
Hz7dhaz9e44u+0cpoa2e339r6IQm4EH+zCPooIWBBzJXaph7w3Q=
=/NjW
-----END PGP SIGNATURE-----

--Zo52LN5hdQJvABerWlGJRgKR9i7pRKif2--