Two compiler releases (x 3: MoarVM, nqp and Rakudo), 17 new modules released to the ecosystem, 38 modules updated and more than 110 documentation commits. Quite a nice crop for a single week! Yours truly hopes that this Perl 6 weekly won’t be tl;dr.
Rakudo Compiler Release
Aleks-Daniel Jakimenko-Aleksejev not only released the Rakudo Compiler 2018.04. But he had to do a point release as well to fix a problem with floating point literals that showed up only hours after the original release. Measures have been taken to not have this type of problem occur again.
Meanwhile Steve Mynott has prepared a Rakudo Star 2018.04-RC2 for people to try. This also contains a MSI
for Windows. And Claudio Ramirez is also preparing new packages for various Linux distributions.
Cro 0.7.5 Release
Jonathan Worthington released another milestone: Cro 0.7.5. Apart from many updates and improvements of existing modules, it brings two new modules as well:
- The Cro::OpenAPI::RoutesFromDefinition module, which supports implementing services specified using an OpenAPI v3 document (funded by Nick Logan).
- The Cro::HTTP:Test module, which offers a convenient way to write tests for (also non-Cro) HTTP services (funded by Oetiker+Partner).
Exciting new features for anybody wanting to write microservices with Perl 6!
CaR Grant Approved
The Bugfixing and Performance of Rationals Fixing Constraints on Constants Grant Proposal by Zoffix Znet has been approved and funded! Rejoice!
Pick that low hanging fruit!
Looking to get your hands dirty with some Rakudo Perl 6 work? There are lots of easy Rakudo Perl 6 tickets to fix. Talk to people on the #perl6-dev IRC channel if you need assistance in fixing them. We will all thank you for the fruits of your work!
Other core developments
- Ticket status of past week.
- Rakudo Perl 6 is green again for Debian packaging.
- Jonathan Worthington removed a gotcha when running servers by making sure the server socket is closed if the client has closed the connection. He also fixed an issue with
QUIT
handling when using theTappable
interface and an issue withcallframe
andmulti subs
. - Samantha McVey reworked the way hashes hash on MoarVM to provide much needed randomness to mitigate ease of DOS attacks. She also fixed some issues with
CJK Unified Ideograph
codepoint names. - Timo Paulssen continued working on the remote debugging facility of Rakudo Perl on MoarVM.
- Jeremy Studer continued to work on a
slice
op that should make slicing through (native) arrays much faster. - Zoffix Znet fixed issues with denormals and precision of the numeric parser and made the
JVM
less fragile. - Tobias Leich (welcome back!) added support for (native) shaped
CArrays
inNativeCall
. - Paweł Murias fixed various issues in
nqp
and on theJVM
backend. - Stefan Seifert fixed a problem with
require
that would occur if the compilation unit did not actually contain a module with the expected name. - Martin Barth made the
X::NYI
error clearer if there was nofeature
specified. - Aleks-Daniel Jakimenko-Aleksejev fixed an issue with
.WHICH
onRat
s not being normalized, causing differentRat
objects with the same value, to have different.WHICH
values. - And many other smaller fixes and improvements.
Blogs Posts
- A Less Stern Look of Disapproval by Robert Lemmen.
- Nordic Perl Workshop 2018 Call for Papers by Marcus Ramberg.
- Das Kamel steht für Ressourcenschonung (German) by TH Köln.
- A Perl Toolchain Summit 2018 organiser’s report by Salve Nilsen.
- Perl Toolchain Summit 2018 – META6 dependency hello by Nick Logan.
- Call for Venue for the Perl Conference in Europe 2019 by YAPC Europe Foundation.
- The Perl Conference Newsletter: 04/26/2018 by IrishPebbles.
Meanwhile on Twitter
- Want to give Perl 6 a try? by JJ Merelo.
- Talking about Regex by Patrick Spek.
- Take away the keyboard by Zoffix Znet.
- Strongest psychedelic drug by elevator girl.
- How about perl6intro.com? by Raiph Mellor.
- Doc pages got lighter by JJ Merelo.
- Evolution of the Perl 6 documentation by JJ Merelo.
- Pretty Cool: more issues == more users by Zoffix Znet.
- Using other languages makes you appreciate Perl 6 more and more and more by Timo Paulssen.
- At least 4 bytes per character? by Jonathan Worthington.
Meanwhile on StackOverflow
Brock Adams has created a StackOverflow Report that shows statistics about who does what with Perl 6 on Stack Overflow, in case you’re interested in those numbers.
What a large number of questions (and answers!) this week!
- Getting an installed module to recognize changes to config files by Kaiepi.
- Signatures in POD by Martin Barth.
- How to correctly use
CPointer
andCStruct
inNativeCall
by JJ Merelo. - Is there any way to list the functions and data structures available from the native interface? by JJ Merelo.
IO::Socket::Async
server dies with the exception: connection reset by peer by Ken Town.- Which shell does
shell()
use? by brian d foy. - Inheriting private attributes by Eugene Barsky.
IO::Socket::INET
Could not receive data from socket: Connection reset by peer by Ken Town.- How can I get
run()
to work on Windows? by brian d foy. - Share signature constraints across functions by Hunter McMillen.
- What is the Python equivalent of Perl 6’s
comb
method? by Christopher Bottoms. - Can you clone a
Proc
? by brian d foy. - Use
Array
asHash
key by Hunter McMillen. - http-only site to test
REST
requests? by JJ Merelo. - How to make a separate copy of an object? by Eugene Barsky.
- How to remove the last character in a string? by Todd.
- Printing (compile time?) exception types by JJ Merelo.
- Converting from raw bytes to floating point representation using the NativeCall interface by JJ Merelo.
- Converting data in a
Blob
into aNum
by Martin Barth. - Native
localtime()
segfaults by Elizabeth Mattijsen.
Meanwhile on perl6-user
zef install Linenoise
: Use of Nil in string context by mimosinnet.- Tip: my string substitution notes by ToddAndMargo.
- Is the free download for Lenz’ “Perl 6 Fundamentals” legitimate? by Joseph Brenner.
Nil
mystery by ToddAndMargo.- Odd and Even by ToddAndMargo.
- Inheritance and default attributes by Theo van den Heuvel.
.sub
confusion by ToddAndMargo.
Meanwhile on FaceBook
- New single page documentation by JJ Merelo.
- Vector Machines in Perl 6 by JJ Merelo.
Perl 6 in comments
- Make friends on
#perl6
by Patrick Spek. - Which Perl? by Elizabeth Mattijsen.
Perl 6 Modules
New CPAN Butterfly Plan modules:
- I18N::LangTags by Martin Barth.
- Hash::Util, P5chdir, P5fileno, P5push, P5readlink, P5seek, P5shift, P5opendir, P5localtime by Elizabeth Mattijsen, bringing it to a total of 52 Perl 5 builtin functions now available in Perl 6 with the semantics of the Perl 5 versions. Many of which are of course already available in Perl 6 with a slightly different API.
Other new modules:
- JSON::Pointer, OpenAPI::Model, OpenAPI::Schema::Validate, Cro::OpenAPI::RoutesFromDefinition, Cro::HTTP::Test by the Edument Team.
- Unix::errno by Elizabeth Mattijsen.
- JSON::Stream by Fernando Correa de Oliveira.
Updated CPAN Butterfly Plan modules:
- Scalar::Util, List::Util, List::UtilsBy, List::SomeUtils, List::AllUtils, Sub::Name, Sub::Util, Sys::Hostname, Tie::Array, Tie::Hash, Tie::StdArray, Tie::StdHash, P5caller, P5each, P5fc, P5lc, P5lcfirst, P5reverse, P5builtins, P5sleep, P5pack, P5chomp, by Elizabeth Mattijsen.
- HTTP::Tinyish, CPAN::Uploader::Tiny by Shoichi Kaji.
Other updated modules:
- Algorithm::LibSVM by Toyota Itsuki.
- ArrayHash, DOM::Tiny, HTTP::Headers, Hash::MultiValue, IO::Glob, Template::Anti by Sterling Hanenkamp.
- Proc::Editor by Jonas Kramer.
- Bailador::Plugin::NamedQueries by Mario Zieschang.
- Font::FreeType by David Warring.
- Cro::HTTP, Cro::Core , Cro::TLS, Cro::WebSocket, Cro, Cro::ZeroMQ by the Edument Team.
Winding Down
*phew* One of the larger Perl 6 Weeklies. Well, at least it feels that way to me. So time to say goodbye for this week. See you next week for more Perl 6 goodies from around the world!