Automatic refactoring for Agda
Abstract: The task of making changes to an existing code base to improve performance, legibility,or extensibility while preserving behaviour is important to virtually anyprogram. Many times this involves making changes requiring a great deal of typingin various places, which is tedious and error-prone. Consequently, programsknown as refactoring engines are used to take over the predictable parts of this task.However, although common for imperative and object-oriented languages, refactoringengines for functional languages like Haskell are rare and those for dependentlytyped languages are nonexistent. This project lays the groundwork for a refactoringengine for Agda by describing useful refactorings and a handful of implementationstrategies.
AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)