S Thompson,
H Li - Journal of Functional Programming, 2013 - cambridge.org
Refactoring is the process of changing the design of a program without changing what it
does. Typical refactorings, such as function extraction and generalisation, are intended to …