diff options
author | Andy Wingo <wingo@pobox.com> | 2009-10-17 17:23:09 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2009-10-23 15:10:25 +0200 |
commit | 7e01997e88c54216678271de36b1c2088377492d (patch) | |
tree | b8f9817abd25a3b2802367b1f115548f8c2202fc /libguile/modules.c | |
parent | 8753fd537c4eadf7495f4ba867def99e77246dfc (diff) | |
download | guile-7e01997e88c54216678271de36b1c2088377492d.tar.gz |
finish support for optional & keyword args; update ecmascript compiler
* libguile/_scm.h (SCM_OBJCODE_MINOR_VERSION): Bump.
* libguile/vm-i-system.c (br-if-nargs-ne, br-if-args-lt)
(br-if-nargs-gt): New instructions, for use by different lambda cases.
(bind-optionals, bind-optionals/shuffle, bind-kwargs): New
instructions, for binding optional and keyword arguments. Renumber
other ops.
* module/language/ecmascript/compile-tree-il.scm (comp, comp-body):
Update for new tree-il. Use the new optional argument mechanism
instead of emulating it with rest arguments.
* module/language/glil/compile-assembly.scm (glil->assembly): Tweaks for
optional and keyword argument compilation.
* module/language/tree-il.scm (parse-tree-il, unparse-tree-il): Make the
else case optional, in the s-expression serialization of tree-il.
* module/language/tree-il/compile-glil.scm (flatten): Handle all of the
lambda-case capabilities.
Diffstat (limited to 'libguile/modules.c')
0 files changed, 0 insertions, 0 deletions