Glossary#
Terms, acronyms, and project-specific vocabulary.
- pperl#
The PetaPerl runtime - a Rust reimplementation of Perl 5, binary name
pperl. Reads the same Perl source code the stockperlinterpreter does. A behavioural mirror ofperl5: semantics, edge cases, magic. Where a test disagrees with upstream perl5, pperl is the one that’s wrong. Adds a JIT and auto-parallelization on top.- SV#
Scalar Value. A Perl scalar as represented in pperl’s runtime - the enum lives in
src/runtime/sv.rsand mirrorsperl5’s SV layout where the semantics depend on it.- JIT#
Just-In-Time compilation. pperl compiles hot loops to machine code via Cranelift; triggered automatically on eligible
for/whilebodies.- named unary operator#
A Perl built-in that takes exactly one argument at a specific precedence level - tighter than comparison operators, looser than the arithmetic and shift operators. Unlike a list operator (which greedily slurps the rest of the expression), a named unary takes its one argument and stops there. Examples:
defined,exists,ref,scalar,length,uc/lc,chr/ord,int,abs,sqrt,sin/cos,log,exp,-e/-r/-f/… file tests. Seeperlopprecedence row 10.- list operator#
A Perl built-in that takes a list of arguments and, at the right-hand side of the operator, greedily consumes the rest of the expression. Examples:
print,sort,push,unshift,join,split. Contrast with named unary operator.
This is an initial seed. Terms referenced by {term} roles elsewhere in the docs should be added here when they appear.