1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00
guile/module/language/scheme
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
..
compile-ghil.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
compile-tree-il.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
decompile-tree-il.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
inline.scm Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
spec.scm actually implement "fixing letrec" 2009-08-06 16:01:24 +02:00