Package : perl-constant-defer > RPM : perl-constant-defer-6.0.0-6.mga8.noarch.rpm
Basic items
InstallName | perl-constant-defer |
Version | 6.0.0 |
Release | 6.mga8 |
URL | http://search.cpan.org/dist/constant-defer |
Group | Development/Perl |
Summary | Constant subs with deferred value calculation |
Size | 67KB |
Arch | noarch |
License | GPL+ or Artistic |
Description
'constant::defer' creates a subroutine which on the first call runs given
code to calculate its value, and on the second and subsequent calls just
returns that value, like a constant. The value code is discarded once run,
allowing it to be garbage collected.
Deferring a calculation is good if it might take a lot of work or produce a
big result, but is only needed sometimes or only well into a program run.
If it's never needed then the value code never runs.
A deferred constant is generally not inlined or folded (see the
perlop/Constant Folding manpage) like a plain 'constant' since it's not a
single scalar value. In the current implementation a deferred constant
becomes a plain one after the first use, so may inline etc in code compiled
after that (see the /IMPLEMENTATION manpage below).
code to calculate its value, and on the second and subsequent calls just
returns that value, like a constant. The value code is discarded once run,
allowing it to be garbage collected.
Deferring a calculation is good if it might take a lot of work or produce a
big result, but is only needed sometimes or only well into a program run.
If it's never needed then the value code never runs.
A deferred constant is generally not inlined or folded (see the
perlop/Constant Folding manpage) like a plain 'constant' since it's not a
single scalar value. In the current implementation a deferred constant
becomes a plain one after the first use, so may inline etc in code compiled
after that (see the /IMPLEMENTATION manpage below).
Media information
Distribution release | Mageia 8 |
Media name | core-release |
Media arch | armv7hl |
Advanced items
Source RPM | perl-constant-defer-6.0.0-6.mga8.src.rpm |
Build time | 2020-02-15 01:40:41 |
Changelog | View in Sophie |
Files | View in Sophie |
Dependencies | View in Sophie |