avoid emitting degenerate aliases in peval
authorAndy Wingo <wingo@pobox.com>
Mon, 23 Apr 2012 15:56:28 +0000 (17:56 +0200)
committerAndy Wingo <wingo@pobox.com>
Mon, 23 Apr 2012 19:52:25 +0000 (21:52 +0200)
commit985702f7131e11c7c13aa75db19d10525c34fecd
treed98a87f5b2355cf5be7eb1541c2a60a9836339aa
parentf6a554a6aa0832432cec9c9c18b99fad56008997
avoid emitting degenerate aliases in peval

* module/language/tree-il/peval.scm (<operand>, make-operand)
  (make-bound-operands, peval): Avoid emitting needless aliases in
  degenerate cases of let.
  (visit-operand): If we visit an operand with a fresh counter and have
  to abort, record that fact.

* test-suite/tests/peval.test ("partial evaluation"): Add a test.
module/language/tree-il/peval.scm
test-suite/tests/peval.test