This is the mail archive of the email@example.com mailing list for the guile project.
|Index Nav:||[Date Index] [Subject Index] [Author Index] [Thread Index]|
|Message Nav:||[Date Prev] [Date Next]||[Thread Prev] [Thread Next]|
> tructure of l. To undefine some random variable, you have to run > around all the Scheme code in the system unmemoizing it. well, I think one has to check every SCM_GLOC_SYM against SCM_UNDEFINED and issue an error if the symbol is undefined. Something like: scm_misc_error (0, "Unbound variable: %S", scm_listify (SCM_CAR (x-1L))) return SCM_UNDEFINED; Unfortunately eval.c is the plain horror: #define EVALCAR(x, env) (SCM_NCELLP(SCM_CAR(x))\ ? (SCM_IMP(SCM_CAR(x)) \ ? EVALIM(SCM_CAR(x), env) \ : SCM_GLOC_VAL(SCM_CAR(x))) \ And look at this: /* At this point, scm_deval and scm_dapply are generated. */ #ifdef DEBUG_EXTENSIONS # define DEVAL # include "eval.c" #endif eval.c includes itself! :( Do you think it is okay to change EVALCAR, XEVALCAR and SCM_GLOC* from macros into functions? Jost