separate boot expansion from memoization
authorAndy Wingo <wingo@pobox.com>
Wed, 19 May 2010 20:51:31 +0000 (22:51 +0200)
committerAndy Wingo <wingo@pobox.com>
Wed, 19 May 2010 20:51:31 +0000 (22:51 +0200)
commitdc3e203e075a2713791a1c5593c67b9296214156
treedf3f4b72f4818dae6dae8ee2e7fc62a132fc77cc
parent667361f6cec83a090d0a7e81df8e16e2aafb2403
separate boot expansion from memoization

* libguile/Makefile.am:
* libguile/init.c:
* libguile/expand.c:
* libguile/expand.h: Add new expander. The idea is that macroexpansion
  is one thing, and whether to compile or interpret the result of that
  is another thing.

* libguile/memoize.c: Adapt to expand as necessary, and then memoize
  expanded source without worrying about syntax errors.

* module/ice-9/eval.scm (make-general-closure): Allow alt clauses to not
  possess the full make-general-closure arity.
libguile/Makefile.am
libguile/eval.c
libguile/expand.c [new file with mode: 0644]
libguile/expand.h [new file with mode: 0644]
libguile/init.c
libguile/memoize.c
module/ice-9/eval.scm