Skip to main content
Kent Academic Repository

Tool Support for Refactoring Functional Programs

Li, Huiqing and Thompson, Simon (2003) Tool Support for Refactoring Functional Programs. In: Jeuring, Johan, ed. Proceedings of the 2nd Workshop on Refactoring Tools. ACM, pp. 27-38. ISBN 1-58113-758-3. (doi:10.1145/1636642.1636644) (KAR id:13934)

Abstract

Refactorings are source-to-source program transformations which change program structure and organisation, but not program functionality. Documented in catalogues and supported by tools, refactoring provides the means to adapt and improve the design of existing code, and has thus enabled the trend towards modern agile software development processes. Refactoring has taken a prominent place in software development and maintenance, but most of this recent success has taken place in the OO and XP communities. In our project, we explore the prospects for Refactoring Functional Programs, taking Haskell as a concrete case-study. This paper discusses the variety of pragmatic and implementation issues raised by our work on the Haskell Refactorer. We briefly introduce the ideas behind refactoring, and a set of elementary functional refactorings. The core of the paper then outlines the main challenges that arise from our aim to produce practical tools for a decidedly non-toy language, summarizes our experience in trying to establish the necessary meta-programming infrastructure and gives an implementation overview of our current prototype refactoring tool. Using Haskell as our implementation language, we also offer some preliminary comments on Haskell programming-in-the-large.

Item Type: Book section
DOI/Identification number: 10.1145/1636642.1636644
Uncontrolled keywords: refactoring functional programs tool Haskell Strafunski Programatica
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Funders: Association for Computing Machinery (https://ror.org/03wsadn68)
Depositing User: Mark Wheadon
Date Deposited: 24 Nov 2008 18:00 UTC
Last Modified: 02 Jan 2024 23:07 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/13934 (The current URI for this page, for reference purposes)

University of Kent Author Information

Li, Huiqing.

Creator's ORCID:
CReDIT Contributor Roles:

Thompson, Simon.

Creator's ORCID: https://orcid.org/0000-0002-2350-301X
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.