Date: Mon, 6 Jun 2011 09:27:32 +0000 (UTC) From: Andrej Zverev <az@FreeBSD.org> To: ports-committers@FreeBSD.org, cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: ports/devel Makefile ports/devel/p5-Eval-Closure Makefile distinfo pkg-descr pkg-plist Message-ID: <201106060927.p569RWWl028487@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
az 2011-06-06 09:27:32 UTC FreeBSD ports repository Modified files: devel Makefile Added files: devel/p5-Eval-Closure Makefile distinfo pkg-descr pkg-plist Log: 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). Revision Changes Path 1.4361 +1 -0 ports/devel/Makefile 1.1 +29 -0 ports/devel/p5-Eval-Closure/Makefile (new) 1.1 +2 -0 ports/devel/p5-Eval-Closure/distinfo (new) 1.1 +16 -0 ports/devel/p5-Eval-Closure/pkg-descr (new) 1.1 +5 -0 ports/devel/p5-Eval-Closure/pkg-plist (new)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106060927.p569RWWl028487>