Sat Feb 6 08:23:19 CET 2010

Expression equality

So, to build the ANF compiler, an equality operation for expressions
(run-time value nodes) is necessary.

  - what is equality of references
  - how to express references

Names are probably not a good idea yet

OK: got something going.

Now I'm thinking about removing Var (free variables) from the
environment struct.  Putting it like that makes it rather obvious they
shouldn't be in there.  Environment = intermediate nodes only.

Maybe it's not necessary to perform environment joins?  It could be
done in a final pass over the whole expression tree.  However, that
might lead to complexity explosion if no memoization is used.