1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-05 19:50:23 +02:00
guile/module/language/tree-il
Andy Wingo 258344b4db flesh out glil support for optional and keyword arguments
* libguile/vm-i-system.c (bind-rest): Renamed from push-rest-list.
  (reserve-locals): Change so that instead of reserving space for some
  additional number of locals, reserve-locals takes the absolute number
  of locals, including the arguments.

* module/language/glil.scm (<glil-std-prelude>, <glil-opt-prelude>)
  (<glil-kw-prelude>): New GLIL constructs, to replace <glil-arity>.

* module/language/glil/compile-assembly.scm (glil->assembly): Compile
  the new preludes. Some instructions are not yet implemented, though.

* module/language/tree-il/analyze.scm (analyze-lexicals): The nlocs for
  a lambda will now be the total number of locals, including arguments.

* module/language/tree-il/compile-glil.scm (flatten-lambda): Update to
  write the new prelude.

* module/system/vm/program.scm (program-bindings-for-ip): If a given
  index doesn't have a binding at the ip given, don't cons it on the
  resulting list.

* test-suite/tests/tree-il.test: Update for GLIL changes.
2009-10-23 14:51:19 +02:00
..
analyze.scm flesh out glil support for optional and keyword arguments 2009-10-23 14:51:19 +02:00
compile-glil.scm flesh out glil support for optional and keyword arguments 2009-10-23 14:51:19 +02:00
fix-letrec.scm "fix" <let>-bound lambda expressions too 2009-08-12 21:29:08 +02:00
inline.scm actually implement "fixing letrec" 2009-08-06 16:01:24 +02:00
optimize.scm compilation enviroments are always modules; simplifications & refactorings 2009-10-16 15:33:32 +02:00
primitives.scm fix compile-time bug compiling (+ "foo" " bar") 2009-09-06 14:15:45 +02:00
spec.scm language-readers receive environment as an arg 2009-10-16 13:39:24 +02:00