I was in the process of testing my refactoring today and I came to a few conclusions:

I still need to implement cases for parsing infix contructors and also constructors which use records.

Also w.r.t to naming identifiers on the LHS, I think it is a very difficult job. Not only will it be hard to work out the consistency (if there is any) oy naming for types - what happens in cases where the rcefactoring cannot infer a name? I think it is satisfactory to have an _ in place of a variable name, afterall the RHS simply calls a function which returns an error anyway so its not a huge problem.

The main reason I am thinking about this is because creating an algoritim to match naming consistencies is not an easy task. It will take time - and that time at the moment can be better spent on other things. Such as completing the refactoring etc...

Here is a list of things to do:
Implement functionality to deal with infiix expressions and records;
test refactoring and check into darcs;
get DrIFT working;
complete add constructor refactoring;
complete work on program slicing;
Continue reading Backhouse's book on program construction;
make a start on types and programming languages;

Also, Colin's talk yesterday has given me some inspiration for an idea. How about a program which uses induction to check whether a Haskell definition is correct or not? I thought it could be interesting. I know there is quickCheck, but I am not sure how it is implemented.