1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-22 20:40:29 +02:00
guile/module/language
Andy Wingo 899d37a6cf more work towards compiling and interpreting keyword args
* libguile/_scm.h (SCM_OBJCODE_MINOR_VERSION): Bumparoo
* libguile/vm-i-system.c (push-rest, bind-rest): Logically there are
  actually two rest binders -- one that pops, conses, and pushes, and
  one that pops, conses, and local-sets. The latter is used on keyword
  arguments, because the keyword arguments themselves have been shuffled
  up on the stack. Renumber ops again.

* module/language/tree-il/compile-glil.scm (flatten): Attempt to handle
  compilation of lambda-case with keyword arguments. Might need some
  help.

* module/ice-9/psyntax.scm (build-lambda-case): An attempt to handle the
  interpreted case correctly. This might need a couple iterations, but
  at least it looks like the compile-glil code.

* module/ice-9/psyntax-pp.scm: Regenerated.

* module/language/glil.scm (<glil>): Rename "rest?" to "rest" in
  <glil-opt-prelude> and <glil-kw-prelude>, as it is no longer a simple
  boolean, but if true is an integer: the index of the local variable to
  which the rest should be bound.

* module/language/glil/compile-assembly.scm (glil->assembly): Adapt to
  "rest" vs "rest?". In the keyword case, use "bind-rest" instead of
  "push-rest".

* test-suite/tests/tree-il.test: Update for opt-prelude change.
2009-10-23 15:20:22 +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 more work towards compiling and interpreting keyword args 2009-10-23 15:20:22 +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 more work towards compiling and interpreting keyword args 2009-10-23 15:20:22 +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 more work towards compiling and interpreting keyword args 2009-10-23 15:20:22 +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