the semantics preserving refactoring of changing a nested if statement to a single if with a compound test
IntelliJ IDEA has this and many other transformations. It calls them "intentions". Here is a list of the ones available: http://www.jetbrains.com/idea/documentation/intentions.jsp
They are not very hard to write, although the code is a lot more verbose than your LISP examples. "High-level" refactorings are quite a bit more complicated to implement.
IntelliJ IDEA
the semantics preserving refactoring of changing a nested if statement to a single if with a compound test
IntelliJ IDEA has this and many other transformations. It calls them "intentions". Here is a list of the ones available: http://www.jetbrains.com/idea/documentation/intentions.jsp
They are not very hard to write, although the code is a lot more verbose than your LISP examples. "High-level" refactorings are quite a bit more complicated to implement.