Path to this page:
./
devel/p5-Eval-Closure,
Safely and cleanly create closures via string eval
Branch: CURRENT,
Version: 0.14nb9,
Package name: p5-Eval-Closure-0.14nb9,
Maintainer: pkgsrc-usersString eval is often used for dynamic code generation. For instance,
Moose uses it heavily, to generate inlined versions of accessors
and constructors, which speeds code up at runtime by a significant
amount. String eval is not without its issues however - it's
difficult to control the scope it's used in (which determines which
variables are in scope inside the eval), and it can be quite slow,
especially if doing a large number of evals.
This module attempts to solve both of those problems. It provides
an eval_closure function, which evals a string in a clean environment,
other than a fixed list of specified variables. It also caches the
result of the eval, so that doing repeated evals of the same source,
even with a different environment, will be much faster (but note
that the description is part of the string to be evaled, so it must
also be the same (or non-existent) if caching is to work properly).
Required to run:[
lang/perl5] [
devel/p5-Sub-Exporter] [
devel/p5-Try-Tiny]
Required to build:[
devel/p5-Devel-LexAlias] [
devel/p5-Test-Requires] [
devel/p5-Test-Fatal] [
pkgtools/cwrappers]
Master sites: (Expand)
Filesize: 19.656 KB
Version history: (Expand)
- (2024-11-16) Updated to version: p5-Eval-Closure-0.14nb9
- (2023-07-06) Updated to version: p5-Eval-Closure-0.14nb8
- (2022-06-28) Updated to version: p5-Eval-Closure-0.14nb7
- (2021-05-25) Updated to version: p5-Eval-Closure-0.14nb6
- (2020-09-01) Updated to version: p5-Eval-Closure-0.14nb5
- (2019-08-11) Updated to version: p5-Eval-Closure-0.14nb4
CVS history: (Expand)