With a pollen-rich environment this time of year in the Northern hemisphere, it is to be expected that some cross-pollination will take place. In an unexpected twist, the question “What are some features new to Perl 6 that should be adopted by other languages?” created some interesting answers on Quora and Reddit. Which then gave rise to the more expected question “What feature in another language would you like to see adopted in Perl 6?” with equally interesting answers.
New Marketing Poster
Zoffix Znet has created a thought provoking marketing poster in the Perl 6 Marketing repository (FaceBook comments). It references Paul Graham‘s concept of a hundred year programming language. A quote from this blog post of 2003:
There are some stunningly novel ideas in Perl, for example. Many are stunningly bad, but that’s always true of ambitious efforts. At its current rate of mutation, God knows what Perl might evolve into in a hundred years.
To which yours truly can only add with 20/20 hindsight: I think we’ve had most of the “stunningly bad ideas” in Perl 6 by now.
Zoffix Znet announced in his blog post titled “Cancellation of Perl 6 Constants and Rationals Grant that he will cease working on the “Bugfixing and Performance of Rationals Fixing Constraints on Constants grant.
In conclusion, I believe were this grant to be completed, the result would differ significantly from what was voted on during grant’s proposal. For that reason, I wish to cancel it.
Yours truly would like to thank Zoffix Znet for all the (now volunteer) work that he has put into this.
- Ticket status of last week.
- Potential breaking change: the
is requiredtrait does not make sense on private attributes in a class because private attributes will never be assigned by the default object building logic (aka
.new). To avoid confusion, adding
is requiredto a private attribute is now a compilation error.
- Jonathan Worthington did an enormous amount of work on providing the prerequisites for the next round of speeding up Rakudo Perl 6, and Timo Paulssen helped him with this. Unfortunately, this also meant some ecosystem breakage that is in process of getting fixed. Hopefully all of this will be summarized in a soon to be published blogpost.
- Samantha McVey continued her work on low-level hashes in MoarVM, now using a SipHash based algorithm. While doing this, she also managed to reduce the memory usage of each key in every hash by 8 bytes.
- Zoffix Znet fixed several issues regarding the initialization of decoders in
IO::Handle, and the immutability of the result of
Proc.command. He also did a lot of preparation work for the future
- Aleks-Daniel Jakimenko-Aleksejev focused on various issues with regards to the installation of Rakudo.
- Daniel Green fixed an issue with regards to decontainerization of
- Elizabeth Mattijsen fixed an issue with concatenation of two
Junctions. She also improved the speed of
.sumon native integer arrays (1.2x as fast normally, 35x as fast with the new
:wrapnamed parameter) and improved the immutability of
Mapwhile making initalization of a
Mapbetween 1.5x and 4x as fast.
- And many other smaller fixes and improvements.
Meanwhile on Twitter
- Moving goal posts by Zoffix Znet.
- About to enter the 10K realm by JJ Merelo.
- The Perl 6 dev community today by JJ Merelo.
- 10K commits! by JJ Merelo.
- New documentation for
Cro::HTTP::Testby Tommy Stanton.
- Generate an IPv6 address by Joelle Maslak.
- Another happy Perl 6 user by Zoffix Znet.
- Ready! by JJ Merelo.
- They have nouns and verbs and … by Joelle Maslak.
- Starting EvoSoft by JJ Merelo.
- A bit more turbulent by Zoffix Znet.
- My favorite operator by Joelle Maslak.
%%by Jeff Goff.
Meanwhile on FaceBook
- Questions and Answers on StackOverflow by Wendy van Dijk.
- Mobile Perl 6 Work Place by Fritz Zaucker.
- Paper on Evolutionary Algorithms by Wendy van Dijk.
- More interesting stuff by Wendy van Dijk.
Meanwhile on StackOverflow
- Double junction arguments swapping sides by Kegan.
- Module name matching by Patrick Spek.
- Array stays array when looped through
forby Patrick Spek.
- Multiple Possible Output Types by Simon Proctor.
- How to insert a space between Chinese character and English character? by chenyf.
- No such method
namefor invocant of type
- Is there a Perl 6 equivalent of a byte array? by madcrazydrumma.
- Why does Perl 6
sub? by p6steve.
^=operator doesn’t produce a result, causing program to never terminate by madcrazydrumma.
- Equivalents to Java’s
>>>operators? by madcrazydrumma.
- How to implement recursive grammar? by Vadim Belman.
Meanwhile on perl6-users
- An interesting math formula to share by ToddAndMargo.
Perl 6 in comments
- A JIT since 2014 by b2gills.
- Not very good at optimizing Perl 6 by b2gills.
- Also a Perl 6 in LearnXinYminutes by Elizabeth Mattijsen.
- Impressed by 3rdAccount.
- What’s Perl 6? by yoyoq12.
- 10x slower, solid F… a winner by cluelessbilly.
- Taking the bait by Elizabeth Mattijsen.
- Perl 6 VM Parrot? by aidenn0.
- Is Perl 6 fast now? by sunseb.
- Adding PDL-type features easily by b2gills.
- Opposite end of spectrum by sheepmullet.
- Dangerous situation by Reini Urban.
- What Perl 6 has become by cuckcuckspruce.
- My fave language by Ultimatt.
- Using duck-typing instead by minimim.
- Infantile Butterfly by Jenda.
- Perl 6 solutions by raiph.
- Keep Perl in the name by syphilis.
- Any good press? by Jenda.
- Object systems rolled into one by raiph.
- A great artist by Anonymous Monk.
- Sillycon by shmem.
Perl 6 Modules
- App::Lang::French::VerbTrainer by Zoffix Znet.
- Version::Semantic by Patrick::Spek.
- Image::Libexif by Fernando Santagata.
- Tuple by Elizabeth Mattijsen.
- Readline by Jeff Goff.
- Dist::Helper by Patrick Spek.
- DOM::Tiny and AWS::Session by Sterling Hanenkamp.
- Sys::Hostname and P5substr by Elizabeth Mattijsen.
- Sparrowdo::VSTS::YAML::Build by Alexey Melezhik.
- P6Repl::Helper by Jack Kuan.
- PDF::Class by David Warring.
On the hottest day of the year (so far), it was quite a job again to get the Perl 6 Weekly together. So much happening! Yours truly hopes to be able to keep this up until next week. See you then!