pperl 0.6.23 is released. As announced in the
addendum
to the last release post, the complete record of what changed is no longer this post's job: it is
in the changelog, one page per version, at
https://perl.petamem.com/docs/eng/changelog/index.html. That leaves
the post free for three things. One is a rant, about licences and how
pperl came to have its own line editor. One is a prompt: pperl has an
interactive mode now, a REPL for Perl that keeps your variables from
line to line and tells you whether your loop was compiled. And one is
speed: MIME::Base64, Digest::SHA and Encode, three modules whose
perl5 versions are C, now run significantly faster in pperl than in perl with that
C.
Peta::NN is a neural network library written in Perl: models are
defined, trained, measured and shipped from a Perl script, with no
dependency beyond perl 5.36. It is not a binding to somebody else's
framework and it does not try to be PyTorch. It trains micro models -
a few thousand to a few hundred thousand weights, each answering one
narrow question about a string - and composes them: in a pipeline, or
fused into one model that runs a whole batch on the graphics card
without coming back to Perl in between. It runs on perl5 and on
pperl, on three backends, and under pperl one of them is the GPU.
Two models of 18,761 and 10,002 weights form the plural of 98.3% of
German nouns they were never shown, and of every single noun of the
core vocabulary.
This blog entry has no release attached to it. 0.6.21 is an internal
version, not for release. In the four days since 0.6.20 a few things
happened, but this post is not about new things. It is about old
things the 0.6.20 post forgot, about how a project moving at this
pace should announce anything at all, and about a question that
deserves an answer in public: who pperl is for, at a time when you
can ask an AI to port your Perl script to the language of your choice
and be done.