1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-28 14:00:31 +02:00
guile/module/language/tree-il
Andy Wingo 60d4b22448 compiler support for letrec*
* test-suite/tests/tree-il.test ("letrec"): Add some tests.
* module/language/tree-il/compile-glil.scm (flatten): Add support for
  compiling letrec* in its unoptimized form.

* module/language/tree-il/fix-letrec.scm (simple-expression?):
  Parameterize, so that letrec* will not treat `(car x)' as primitive
  (because it could raise an exception).
  (partition-vars): Lump unreferenced vars in with complex vars, when
  compiling letrec*.
  (fix-letrec!): No need to evaluate inits within a let for letrec*.
2010-06-17 13:43:26 +02:00
..
analyze.scm handler of a prompt is in tail context 2010-06-11 17:16:12 +02:00
compile-glil.scm compiler support for letrec* 2010-06-17 13:43:26 +02:00
fix-letrec.scm compiler support for letrec* 2010-06-17 13:43:26 +02:00
inline.scm add inliner cases for conditionals 2010-06-11 16:58:31 +02:00
optimize.scm compilation enviroments are always modules; simplifications & refactorings 2009-10-16 15:33:32 +02:00
primitives.scm add effect+exception-free-primitive? predicate 2010-06-17 13:43:26 +02:00
spec.scm remove `version' field from <language> 2010-05-02 11:19:13 +02:00