Disclaimer & bug reports#
PetaPerl is not upstream Perl#
PetaPerl is an independent, from-scratch Perl 5 runtime written in
Rust. It is not a build of the CPAN reference perl interpreter.
Many modules you are used to from CPAN — PDL, Scalar::Util,
Storable, POSIX, and dozens more — ship with PetaPerl as
native Rust implementations built into the interpreter. No XS,
no C compiler required, no CPAN install step.
This has one consequence that matters to every user:
Important
Any bug, missing feature, or behavioral difference you observe when
using a module name that exists on CPAN (PDL::Ufunc, Scalar::Util,
IO::File, …) while running under PetaPerl is our bug, not
upstream’s.
Do not file these issues against the upstream CPAN project. Upstream maintainers are volunteers working on a codebase that is not the one you are running.
Bug reports#
PetaPerl is a research preview under high-velocity change. A public bug-reporting mechanism is not yet in place.
Note
What we ask you to do today:
Do not file issues against upstream CPAN projects for behaviour you observe in pperl’s native re-implementations. Upstream maintainers work on a different codebase and can’t fix ours. This is the one message this page exists to deliver.
Hold on to your findings. A minimal reproducing script, the output of
pperl -V, and a short description of expected vs. actual behaviour are the three things any future tracker will ask for. Saving them now means less work later.Check whether it’s already known. Every module page carries a Differences from upstream section listing deliberate divergences. If your observation matches a bullet there, it’s not a bug — it’s documented behaviour.
When a public tracker opens, this page will be updated with the submission URL.
Intent of compatibility#
PetaPerl aims at ~100 % behavioral compatibility with Perl 5.42
and with the specific versions of the CPAN modules we ship (see
pperl -V, PPERL_MODS). Where we diverge, we diverge deliberately
and document it.
Older language forms (e.g. use v5.18; features that differed from
later versions) are not a compatibility target. PetaPerl follows
current upstream Perl, not historical upstream Perl.
Upstream’s contributions#
The CPAN modules whose names we carry represent years of work by volunteer maintainers who deserve credit for the interface design and original implementation even when our code shares no lines with theirs. We thank them, and we do not want their inboxes flooded with issues produced by a runtime they did not write. That is the single most important reason this page exists.
License#
See the License page for the full terms of the PetaMem Research Preview License that governs your use of this Software.