An expression processor: a case study in refactoring haskell programs

  • Authors:
  • Christopher Brown;Huiqing Li;Simon Thompson

  • Affiliations:
  • School of Computer Science, University of St. Andrews, UK;School of Computing, University of Kent, UK;School of Computing, University of Kent, UK

  • Venue:
  • TFP'10 Proceedings of the 11th international conference on Trends in functional programming
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Refactoring is the process of changing the structure of a program while preserving its behaviour in order to increase code quality, programming productivity and code reuse. 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 new refactorings for Haskell 98 programs implemented in the Haskell Refactorer, HaRe. In particular, a number of new structural and data-type refactorings are presented. We also implement a simple expression processor, clearly demonstrating how the refactorings and the HaRe tool can aid programmers in developing Haskell software. We conclude the paper with a discussion of the benefits of refactoring Haskell programs, together with their implementation and design limitations.