Refactoring: A Language-Independent Approach
Title: Refactoring: A Language-Independent Approach
Main Research Question: How can we develop a language-independent approach to refactoring, which allows for the extraction and reuse of abstractions across different programming languages and paradigms?
Methodology: The authors propose a generic refactoring framework that is language-independent. They use Haskell as the specification medium for this framework. The framework is based on generic function combinators, which support generic traversal and polymorphic functions refined by ad-hoc cases. It also uses a dedicated multi-parameter class that can be instantiated for abstractions from various languages, such as Java, Prolog, or Haskell.
Results: The authors present a language-independent formulation of refactoring, which captures commonalities across different programming languages and paradigms. They demonstrate how the framework can be used to perform extraction, a standard refactoring process, across various languages and paradigms.
Implications: The language-independent approach to refactoring proposed by the authors has several implications. Firstly, it allows for the extraction and reuse of abstractions across different programming languages and paradigms, which can lead to more efficient and maintainable code. Secondly, it provides a common framework for understanding and studying refactoring processes, which can lead to the development of more effective and efficient refactoring tools and techniques.
Link to Article: https://arxiv.org/abs/0203001v1 Authors: arXiv ID: 0203001v1