mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
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.
This commit is contained in:
parent
667361f6ce
commit
dc3e203e07
7 changed files with 1862 additions and 1102 deletions
|
@ -54,6 +54,7 @@
|
|||
#include "libguile/error.h"
|
||||
#include "libguile/eval.h"
|
||||
#include "libguile/evalext.h"
|
||||
#include "libguile/expand.h"
|
||||
#include "libguile/feature.h"
|
||||
#include "libguile/filesys.h"
|
||||
#include "libguile/fluids.h"
|
||||
|
@ -546,6 +547,7 @@ scm_i_init_guile (SCM_STACKITEM *base)
|
|||
scm_init_guardians (); /* requires smob_prehistory */
|
||||
scm_init_vports ();
|
||||
scm_init_standard_ports (); /* Requires fports */
|
||||
scm_init_expand (); /* Requires structs */
|
||||
scm_init_memoize (); /* Requires smob_prehistory */
|
||||
scm_init_eval (); /* Requires smob_prehistory */
|
||||
scm_init_load_path ();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue