1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 04:40:29 +02:00
guile/module
Andy Wingo d8a071fc4e primitive support for lambda*
* libguile/memoize.c (scm_m_lambda_star): Define lambda* in the
  pre-psyntax env, and make it memoize lambda* expressions.

* libguile/eval.c (BOOT_CLOSURE_PARSE_FULL): New helper.
  (error_invalid_keyword, error_unrecognized_keyword): New helpers.
  (prepare_boot_closure_env_for_apply): Flesh out application of boot
  closures with "full" arity.
  (prepare_boot_closure_env_for_eval): Punt to
  prepare_boot_closure_env_for_eval for the full-arity case.

* module/ice-9/eval.scm (make-fixed-closure): Rename from `closure', and
  just handle fixed arities, where there is no rest argument..
  (make-general-closure): New helper, a procedure, that returns a
  closure that can take rest, optional, and keyword arguments.
  (eval): Adapt to call make-fixed-closure or make-general-closure as
  appropriate.

* test-suite/tests/optargs.test ("lambda* inits"): Test the memoizer as
  well.
2010-05-14 00:28:32 +02:00
..
ice-9 primitive support for lambda* 2010-05-14 00:28:32 +02:00
language Add program-free-variables' to (system vm program)'. 2010-05-07 13:47:52 +02:00
oop fix some uses of %module-public-interface 2010-04-24 17:43:52 +02:00
rnrs rename libguile to libguile-@EFFECTIVE_VERSION@, currently libguile-2.0 2010-03-16 21:20:34 +01:00
scripts fix doc snarfing with fedora 12 2010-01-17 18:22:51 +01:00
srfi Inline SRFI-9 constructors too. 2010-02-01 00:25:51 +01:00
sxml Have sxml->xml' handle *TOP*' nodes (bug #29260). 2010-05-11 23:46:05 +02:00
system Add (system vm coverage). 2010-05-07 13:47:53 +02:00
texinfo scm_i_program_properties is internal; just use procedure-properties 2010-04-17 15:21:08 +02:00
Makefile.am Add (system vm coverage). 2010-05-07 13:47:53 +02:00
statprof.scm statprof bugfixes 2010-01-27 21:52:05 +01:00
texinfo.scm Remove unused top-level variables. 2010-01-11 01:21:14 +01:00