Optimizer wasn't deleting unused procedure-valued bindings if the
authorChris Hanson <org/chris-hanson/cph>
Tue, 20 Nov 2001 04:13:00 +0000 (04:13 +0000)
committerChris Hanson <org/chris-hanson/cph>
Tue, 20 Nov 2001 04:13:00 +0000 (04:13 +0000)
commit952c2a86038c1f99a3e26d0b4c6d3f576dab2a44
treec1b39ebc1fa9909a20217b1fe7c5f909bae086a9
parent6a04daf5228fca5ad88c6a9519a5d205c77d0014
Optimizer wasn't deleting unused procedure-valued bindings if the
procedure had side-effects.  The bug fix to make top-level failure
continuations do backtracking prevented them from being substituted
properly; the substitution predicate was extended to allow this.
Also, some valuable substitutions weren't being seen because the
optimizers were being run in a fixed order.  After the peephole
optimization is done, it reveals more possibilities for substitution.
So now the optimizers are re-run until nothing more can be done.
v7/src/star-parser/shared.scm