1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-03 05:20:16 +02:00
guile/module
Andy Wingo 4f692ace90 macro expanders return memoized expressions
* libguile/eval.c (scm_c_primitive_eval):
* module/ice-9/eval.scm (primitive-eval): Rely on the expander to
  produce a memoized expression. If the expression is already memoized,
  just pass it through (the equivalent of the old "noexpand" hack).

* libguile/memoize.c (scm_init_memoize): Initialize `memoize-expression'
  as the initial binding of `macroexpand'.

* libguile/modules.c (scm_module_transformer): Before modules are
  booted, look for `macroexpand', not `%pre-modules-transformer'.

* module/ice-9/boot-9.scm: No more %pre-modules-transformer. Loading
  psyntax extends `macroexpand'.
  (make-module): `macroexpand' is the default transformer.

* module/ice-9/psyntax.scm: No more `noexpand'.
  (top-level-eval-hook, local-eval-hook): Instead of annotating with
  noexpand, memoize the expression before handing it to primitive-eval.
  (macroexpand): No more noexpand hack -- in its place we have another
  hack, to memoize the result when running in eval mode.
* module/ice-9/psyntax-pp.scm: Regenerated.
2010-05-07 22:22:19 +02:00
..
ice-9 macro expanders return memoized expressions 2010-05-07 22:22:19 +02:00
language Add program-free-variables' to (system vm program)'. 2010-05-07 13:47:52 +02:00
oop fix some uses of %module-public-interface 2010-04-24 17:43:52 +02:00
rnrs rename libguile to libguile-@EFFECTIVE_VERSION@, currently libguile-2.0 2010-03-16 21:20:34 +01:00
scripts fix doc snarfing with fedora 12 2010-01-17 18:22:51 +01:00
srfi Inline SRFI-9 constructors too. 2010-02-01 00:25:51 +01:00
sxml Remove `fold' from (sxml fold). 2010-04-09 00:32:14 +02:00
system Add (system vm coverage). 2010-05-07 13:47:53 +02:00
texinfo scm_i_program_properties is internal; just use procedure-properties 2010-04-17 15:21:08 +02:00
Makefile.am Add (system vm coverage). 2010-05-07 13:47:53 +02:00
statprof.scm statprof bugfixes 2010-01-27 21:52:05 +01:00
texinfo.scm Remove unused top-level variables. 2010-01-11 01:21:14 +01:00