1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

Convert primitive-eval to "compile" its expressions to linked closures

* libguile/memoize.c (memoize): Fix meta on subsequent case-lambda
  clauses.

* module/ice-9/eval.scm (primitive-eval): Rewrite to compile expressions
  to thunks, to avoid runtime dispatch cost.
This commit is contained in:
Andy Wingo 2014-12-10 14:34:44 +01:00
parent dc33a94502
commit 95de4f52a8
2 changed files with 518 additions and 473 deletions

View file

@ -574,7 +574,7 @@ memoize (SCM exp, SCM env)
SCM_BOOL_F);
return MAKMEMO_LAMBDA (memoize (body, new_env), arity,
SCM_BOOL_F /* meta, filled in later */);
SCM_EOL /* meta, filled in later */);
}
case SCM_EXPANDED_LET:

File diff suppressed because it is too large Load diff