cvs commit: ports/devel Makefile ports/devel/p5-Eval-Closure Makefile distinfo pkg-descr pkg-plist

Andrej Zverev az at FreeBSD.org
Mon Jun 6 09:27:33 UTC 2011


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)


More information about the cvs-all mailing list