Changes for version 0.07 - 2012-02-03

  • the given source is now evaled in a unique package for every eval_closure call (it used to always be evaled in the Eval::Closure package, which was especially buggy). this is to avoid issues where one eval_closure modifies the global environment (by, say, importing a function), which could mess up a later call. unfortunately, this means that the memoization stuff no longer works, since it will result in memoized results using the original package, which defeats the purpose. i'm open to suggestions on how to safely reenable it though.
  • clean up a few stray lexicals we were still closing over in the eval

Modules

safely and cleanly create closures via string eval