Hi,

    Here is an new port for devel/p5-Eval-Closure.

    String 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).

     devel/p5-Eval-Closure is required by the future update of devel/p5-Moose.

     Tested OK on Loongson and regress test OK too.

      Comments ? OK ?

wen

Attachment: p5-Eval-Closure.tar.gz
Description: GNU Zip compressed data

Reply via email to