1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-31 09:20:23 +02:00
guile/module/language
Andy Wingo b0c8c187d9 separate "inits" field in <lambda-case>; compile fixes for inits, kwargs
* module/language/tree-il.scm (<lambda-case>): Add "inits" field, so we
  don't have to parse it out of opt and kw. Adapt the traversal
  procedures.
* module/language/tree-il/analyze.scm (analyze-lexicals): Analyze
  lexicals in the <lambda-case> init expressions as well. Fix keyword
  allocation.

* module/language/tree-il/compile-glil.scm (compile-glil): Adapt to
  make-lambda-case change.
  (flatten): Adapt to "inits" slot, actually init uninitialized args,
  and fix bugs related to keyword arguments.

* module/language/tree-il/inline.scm (inline!): Adapt a little bit --
  but with no effect.

* module/language/glil/compile-assembly.scm (glil->assembly): Flesh out
  <glil-kw-prelude> compilation some more. Add a "bound?" op for
  <glil-lexical>, which will push #t if the local is bound.

* module/ice-9/psyntax.scm (build-simple-lambda, build-lambda-case):
  Update for new signature of make-lambda-case.
* module/ice-9/psyntax-pp.scm: Regenerated.

* module/language/brainfuck/compile-tree-il.scm (compile-body):
* module/language/ecmascript/compile-tree-il.scm (comp):
* test-suite/tests/tree-il.test ("lambda"): Update for new lambda-case
  syntax.
2009-10-23 16:48:05 +02:00
..
assembly de-nargs struct scm_objcode; procedure-property refactor 2009-10-23 14:51:19 +02:00
brainfuck separate "inits" field in <lambda-case>; compile fixes for inits, kwargs 2009-10-23 16:48:05 +02:00
bytecode language-readers receive environment as an arg 2009-10-16 13:39:24 +02:00
ecmascript separate "inits" field in <lambda-case>; compile fixes for inits, kwargs 2009-10-23 16:48:05 +02:00
glil separate "inits" field in <lambda-case>; compile fixes for inits, kwargs 2009-10-23 16:48:05 +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 separate "inits" field in <lambda-case>; compile fixes for inits, kwargs 2009-10-23 16:48:05 +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 separate "inits" field in <lambda-case>; compile fixes for inits, kwargs 2009-10-23 16:48:05 +02:00