1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-19 02:00:26 +02:00
guile/module/language/tree-il
Andy Wingo e6450062a1 Reduce call-with-values to let for singly-valued producers
* module/language/tree-il/peval.scm (singly-valued-expression?): Add
  support for conditionals.  In the future we should add more
  expressions here.
  (peval): Don't inline values into the body of a dynwind, as that could
  cause the consumer to run in the wrong dynamic context.
  If the producer is singly-valued and the consumer just has a rest arg,
  reduce to "let" and cons up a list in the consumer.  This may reduce
  further.

* test-suite/tests/peval.test ("partial evaluation"): Add a test.
2013-06-16 15:02:34 +02:00
..
analyze.scm Implement tree-il-fold in terms of make-tree-il-folder. 2013-06-10 22:46:08 +02:00
canonicalize.scm Implement tree-il-fold in terms of make-tree-il-folder. 2013-06-10 22:46:08 +02:00
compile-glil.scm Pre-order tree-il rewrites are now non-destructive 2013-06-10 22:46:08 +02:00
cse.scm Implement tree-il-fold in terms of make-tree-il-folder. 2013-06-10 22:46:08 +02:00
debug.scm Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
effects.scm Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
fix-letrec.scm Tree-il post-order rewriter no longer destructive 2013-06-10 22:46:08 +02:00
inline.scm separate peval and a new canonicalization pass into their own modules 2011-09-28 19:39:39 +02:00
optimize.scm Pre-order tree-il rewrites are now non-destructive 2013-06-10 22:46:08 +02:00
peval.scm Reduce call-with-values to let for singly-valued producers 2013-06-16 15:02:34 +02:00
primitives.scm Pre-order tree-il rewrites are now non-destructive 2013-06-10 22:46:08 +02:00
spec.scm Merge remote-tracking branch 'origin/stable-2.0' 2013-01-31 11:52:42 +01:00