peval: Try hard to preserve mutability.
authorLudovic Courtès <ludo@gnu.org>
Sat, 10 Sep 2011 22:00:39 +0000 (00:00 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sat, 10 Sep 2011 22:43:23 +0000 (00:43 +0200)
commit89436781e8758ee4df98f5d720f3ade50c2439fa
treebf990683d88e399ba441ff97578ab5e1d2761592
parentd5f76917820a00ea94f9904c3fd1dcef1c37bd95
peval: Try hard to preserve mutability.

* module/language/tree-il/optimize.scm (peval)[make-values]: Distinguish
  between 1 or another number of values.
  [mutable?, make-value-construction, maybe-unconst]: New procedures.
  Use it in <let>, <letrec>, <toplevel-define>, and <lambda-case>.

* test-suite/tests/tree-il.test ("partial evaluation"): Add tests
  for mutability preservation.
module/language/tree-il/optimize.scm
test-suite/tests/tree-il.test