From my homepage https://savage.net.au/ you can now download:
Perl.Wiki.html V 1.51
cpan.metacurator.tree.html V 1.27
Mojo Wiki V 1.22
CSS.and.JS.Wiki V 1.04
The major improvements in cpan.metacurator.tree.html V 1.27 are:
Many topics (eg AiEngines) have extra entries. Usually the first is called '⊕ See also', which can be opened up to reveal a list of items copied from the corresponding entries in Perl.Wiki
And scattered among the pre-existing leaves there are new ones called '⊕ Notes for: $module_name', where $module_name is the immediately preceding module. Opening up this reveals a list of items which in Perl.Wiki are after the 3 standard lines per entry. See for example (under CachingStuff) '⊕ Notes for: Cache::Memcached::Fast'
Next, from CPAN you can download:
o CPAN::MetaCurator V 1.27
This module ships with a TODO.txt file, and has had a significant restructure.
Two weeks ago we announced PetaPerl 0.6.0. Today, 0.6.8 goes
live at https://perl.petamem.com. Again, the version has no hidden
meaning, but if you insist, you can call this the "дурак Go Home"
edition. The headlines: pperl has now perl 5.44 as compatibility
target because it follows the current stable perl5. The benchmark
suite that produces our numbers is released, so you can see what the
numbers are on your machine. DBI works, with native database drivers -
connect to your PostgreSQL or MySQL database with an unmodified use DBI;
script and no driver installation. And there is now a daemon
that lets repeated runs of a script skip compilation entirely: each
run forks an already-compiled image and goes straight to execution.
All three of us showed up to a shorter meeting that dealt entirely with triage. Last week’s new blocker was resolved in the meantime, but we had a few new small ones show up, which we merged fixes for. The last-minute IO::Compress release has needed some oopsie fixes. Another release candidate is inevitable and will be shipping this week.
If you're like me, you use a constant a lot (I may overuse it). I often use it to turn typos in words and fields into compile-time errors, and for that I usually create constants that either are the named the same as the word, or the word uppercased, like this
use constant +{ SERVICE => 'Service', INSTANCE => 'Instance' };
Over twenty-five years ago, when PetaMem was still in its infancy but
the use of Perl for its NLP/NLU systems was already a given (Natural
Language Processing / Natural Language Understanding - we did not
dare to call it AI back then), slightly before the 5.8 era and in a
still-young SMP environment, I envisioned a perl that would
autoparallelize. That is: dispatch your code onto the available CPUs,
automatically. The idea was not mine. I had seen it sometime in the
nineties at the CeBIT computer fair, at the SGI booth, where their C
compiler was doing exactly that.
The vision evolved into a wish, and the wish, refined over the years,
into a resolution: should PetaMem ever have the resources to fund the
R&D team this would need - realistically at least twenty people, or
five Jonathan Worthingtons - we would do it. 2025 was a remarkable
year for us technology-wise, and when Christmas came, the decision
was made: requisition said twenty … or fifty
“people”,
and build an autoparallelizing perl with a JIT.
A new blocker appeared. It is only just impactful enough to register, but unfortunately not negligible enough to ignore. We will attempt a resolution before we consider other options.
There has been some more activity in the LLM policy discussion, where we didn’t get around to posting our thoughts last week. We will rectify that.
GTC 2.20 brings a huge amount of new features again (described in this post) and is starting an additional, more trimmed down, high level API, geared more toward what designers expect. But it also comes with new documentation and error handling, the two most important things that were missing for a professional distribution.
We accepted a number of last-minute patches provided by Karl to improve our z/OS support stance, since they are strictly limited to that system and largely touch things that were broken there anyway.
The worrying situation on CPAN Testers for the latest HTTP::Tiny situation cleared up; it was only caused by smokers-only tests against a live system that was intermittently unresponsive. Consequently we have now synchronized with CPAN, which means every one of the late-in-cycle release blockers we had is now addressed.
Leon had already begun work on RC1 even before that.
We touched base on LLM policy based on the feedback we have had on the thread so far. We have been chewing on some thoughts about that which are in draft state; we agreed that we should actually send them out soon.
We discussed one of the two new PPC PRs, about viral value magic, which Leon and Aristotle realized is more similar to tainting and its limitations than previously understood. No verdict was reached; we will continue this discussion.
So I've created a programming language which blends a fairly JavaScript-like syntax with fairly Perl-like semantics, and a few other features that I haven't really seen in many programming languages.
This Perl:
use Path::Tiny;
my $str = uc(substr(Path::Tiny->new("myfile.txt")->slurp_utf8, 0, 80));
Becomes this in ZuzuScript:
from std/path import Path;
let str := new Path("myfile.txt")
▷ ^^.slurp_utf8
▷ ^^[0:80]
▷ uc ^^;
The ▷ operator means "evaluate the left side, then evaluate the right side with ^^ set to the result of the left side". It's conceptually similar to | in shells and seems to make a lot of expressions so much easier to understand.
This week we had to reschedule to Tuesday in order to attend in full strength.
Release blocker triage continues and fortunately has not turned up anything new, but unfortunately has not delivered full resolution of already-known issues either: CPAN Testers says that HTTP::Tiny 0.096 is not a shoe-in, as we had hoped. We will have to evaluate the reports more closely.
We nevertheless intend to begin work on RC0, since it mostly consists of writing the perldelta.
None of us had time to spend on the LLM policy discussion this week.
We discussed the twonew PPC PRs in very general terms but need to return to them in more depth next week.
Then here is a reminder that in light of current events you will want to update your account to use a different email address. (There are about 130 of you that get to jump through this hoop now.)
5.43.11 has so far turned up a few problems, thankfully small. As a result there are new versions of Archive::Tar and HTTP::Tiny to sync, which we intend to merge.
We decided how to proceed with our schedule: we will wait another week for any other findings in 5.43.11, and if nothing else shows up then we intend to start working on 5.44.0-RC0 at that point.
This post is the first in a series that will follow my re-development of the Devel::ptkdb debugger. This post explains the beginnings of my involvement with the Perl Tk debugger.