1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-12 14:50:19 +02:00
guile/module/language
Andy Wingo 7e01997e88 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.
2009-10-23 15:10:25 +02:00
..
assembly de-nargs struct scm_objcode; procedure-property refactor 2009-10-23 14:51:19 +02:00
brainfuck fix brainfuck for new tree-il, and add tests 2009-10-23 15:10:25 +02:00
bytecode language-readers receive environment as an arg 2009-10-16 13:39:24 +02:00
ecmascript finish support for optional & keyword args; update ecmascript compiler 2009-10-23 15:10:25 +02:00
glil finish support for optional & keyword args; update ecmascript compiler 2009-10-23 15:10:25 +02:00
objcode compilation enviroments are always modules; simplifications & refactorings 2009-10-16 15:33:32 +02:00
scheme compilation enviroments are always modules; simplifications & refactorings 2009-10-16 15:33:32 +02:00
tree-il finish support for optional & keyword args; update ecmascript compiler 2009-10-23 15:10:25 +02:00
value Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
assembly.scm de-nargs struct scm_objcode; procedure-property refactor 2009-10-23 14:51:19 +02:00
glil.scm flesh out glil support for optional and keyword arguments 2009-10-23 14:51:19 +02:00
objcode.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
tree-il.scm finish support for optional & keyword args; update ecmascript compiler 2009-10-23 15:10:25 +02:00