Simplify the interpreter for trivial inits and no letrec
authorAndy Wingo <wingo@pobox.com>
Fri, 5 Dec 2014 15:54:35 +0000 (16:54 +0100)
committerAndy Wingo <wingo@pobox.com>
Fri, 5 Dec 2014 15:54:35 +0000 (16:54 +0100)
commitcfdc8416a2540e43504a021d4f7c44c7d21a668d
tree375bf90b132efb6668d0084234eb66ef54c92e38
parent7974c57937104b0617d93fa492d3bd323b053f20
Simplify the interpreter for trivial inits and no letrec

* libguile/memoize.c (FULL_ARITY): Serialize "ninits" and the unbound
  value instead of the init list.
  (memoize): Adapt to FULL_ARITY changes.  Remove LETREC case.
  (unmemoize): Adapt to memoized code change.

* libguile/eval.c (BOOT_CLOSURE_PARSE_FULL): Adapt to parse ninits and
  unbound instead of inits.
  (eval): Lexical-ref can no longer raise an error.
  (prepare_boot_closure_env_for_apply): Adapt to inits change.

* module/ice-9/eval.scm (primitive-eval): Adapt to ninits/unbound
  change.

* libguile/expand.c (expand_named_let): Fix lambda-case creation to make
  lists for opt and inits.
libguile/eval.c
libguile/expand.c
libguile/memoize.c
module/ice-9/eval.scm