Sun Mar 14 13:36:01 CET 2010

Is this useful for testing optimization rules?

So I guess most of the low-level representation techniques are clear

But I'm still not sure how to represent optimization rules.  The idea
is that optimization rules themselves are really computations
(reductions).  They change representation but preserve semantics.

Generally, how do you prove that two representations have the same
semantics?  How do you specify semantics?

I feel like I'm working in reverse.  Attempting to encode properties
in the Haskell type system is surely an interesting excercise.
However, I feel that what I actually want to accomplish is going to be
clumsy to express.

Maybe the answer is: what do we really loose trying to express this in
Scheme where staging is a lot simpler?