1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-11 14:21:10 +02:00
guile/module
Andy Wingo ef47c4229c Be smarter about capturing the environment for memoized code
* libguile/memoize.h (SCM_M_CAPTURE_MODULE)
* libguile/memoize.c (MAKMEMO_CAPTURE_MODULE, capture_env):
  (maybe_makmemo_capture_module, memoize): Determine when to capture the
  module on the environment chain at compile-time, instead of at
  runtime.  Introduces a new memoized expression type, capture-module.
  (scm_memoized_expression): Start memoizing with #f as the
  environment.
  (unmemoize): Add unmemoizer.
  (scm_memoize_variable_access_x): Cope with #f as module, and treat as
  the root module (captured before modules were booted).

* libguile/eval.c (eval):
* module/ice-9/eval.scm (primitive-eval): Adapt.
2013-10-31 22:16:10 +01:00
..
ice-9 Be smarter about capturing the environment for memoized code 2013-10-31 22:16:10 +01:00
language define! is an interesting primitive 2013-10-31 20:39:22 +01:00
oop Merge remote-tracking branch 'origin/stable-2.0' 2013-01-31 11:52:42 +01:00
rnrs Merge remote-tracking branch 'origin/stable-2.0' 2013-08-11 22:46:22 -04:00
scripts Default to compiling to RTL 2013-10-31 14:17:30 +01:00
srfi Merge remote-tracking branch 'origin/stable-2.0' 2013-09-13 00:24:04 -04:00
sxml Remove duplicate definitions of call/ec' and let/ec'. 2013-04-06 15:40:19 +02:00
system static-patch! for pair and vector fields 2013-10-31 19:21:31 +01:00
texinfo texinfo plain-text: Use match' for stexi->plain-text'. 2013-03-22 22:09:05 +01:00
web Merge remote-tracking branch 'origin/stable-2.0' 2013-09-13 00:24:04 -04:00
Makefile.am New pass: elide-values 2013-10-26 22:30:54 +02:00
rnrs.scm Add missing R6RS `open-file-input/output-port' procedure 2012-11-12 20:47:57 +01:00
statprof.scm Fix statprof-proc-call-data for recent changes 2013-10-18 11:47:05 +02:00
texinfo.scm texinfo: Recognize `@:'. 2013-03-21 18:52:29 +01:00