Skip to main content
Kent Academic Repository

An Expression Processor: A Case Study in Refactoring Haskell Programs

Brown, Christopher, Li, Huiqing, Thompson, Simon (2010) An Expression Processor: A Case Study in Refactoring Haskell Programs. In: Page, Rex, ed. Eleventh Symposium on Trends in Functional Programming. . pp. 182-196. (KAR id:30667)

Abstract

Refactoring is the process of changing the structure of a program while preserving its behaviour. This behaviour preservation is crucial so that refactorings do not introduce any bugs. Refactoring is aimed at increasing code quality, programming productivity and code reuse. Refactoring has been practised manually by programmers for as long as programs have been written; however, with the advent of refactoring tools, refactoring can be performed semi-automatically, allowing refactorings to be performed (and undone) easily. In this paper, we briefly describe a number of refactorings implemented in the Haskell Refactorer, HaRe. In addition to this, we also implement a simple expression processor to demonstrate how some of the refactorings implemented in HaRe can be used to aid programmers in developing Haskell software.

Item Type: Conference or workshop item (UNSPECIFIED)
Uncontrolled keywords: determinacy analysis, Craig interpolants
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
Depositing User: Huiqing Li
Date Deposited: 21 Sep 2012 09:49 UTC
Last Modified: 16 Nov 2021 10:08 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/30667 (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.