1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-24 04:15:36 +02:00
guile/module/language
Andy Wingo 80af116875 actually implement "fixing letrec"
* module/Makefile.am (SOURCES): Reorganize so GHIL is compiled last,
  along with ecmascript.

* module/language/scheme/spec.scm: Remove references to GHIL, as it's
  bitrotten and obsolete..

* module/language/tree-il.scm (make-tree-il-folder): Rework so that we
  only have down and up procs, and call down and up on each element.
* module/language/tree-il/analyze.scm (analyze-lexicals): Fix a thinko
  handling let-values.

* module/language/tree-il/fix-letrec.scm: Actually implement fixing
  letrec. The resulting code will perform better, but violations of the
  letrec restriction are not detected. This behavior is allowed by the
  spec, but it is undesirable. Perhaps that will be fixed later.

* module/language/tree-il/inline.scm (inline!): Fix a case in which
  ((lambda args foo)) would be erroneously inlined to foo. Remove empty
  let, letrec, and fix statements.

* module/language/tree-il/primitives.scm (effect-free-primitive?): New
  public predicate.
2009-08-06 16:01:24 +02:00
..
assembly Add 32-bit characters 2009-07-29 06:38:32 -07:00
brainfuck remove lambda wrap hack of brainfuck tree-il compiler 2009-06-24 13:43:20 +02:00
bytecode Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
ecmascript Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
elisp Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
ghil Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
glil add <fix> tree-il construct, and compile it 2009-08-05 17:52:27 +02:00
objcode remove all mentions of "external" from the compiler and related code 2009-07-23 17:15:17 +02:00
r5rs Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
scheme actually implement "fixing letrec" 2009-08-06 16:01:24 +02:00
tree-il actually implement "fixing letrec" 2009-08-06 16:01:24 +02:00
value Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
assembly.scm Add 32-bit characters 2009-07-29 06:38:32 -07:00
ghil.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
glil.scm remove all mentions of "external" from the compiler and related code 2009-07-23 17:15:17 +02:00
objcode.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
tree-il.scm actually implement "fixing letrec" 2009-08-06 16:01:24 +02:00