Skip to main content

A Comparative Study of Refactoring Haskell and Erlang Programs

Li, Huiqing and Thompson, Simon (2006) A Comparative Study of Refactoring Haskell and Erlang Programs. In: Penta, Massimiliano Di and Moonen, Leon, eds. Sixth IEEE International Workshop on Source Code Analysis and Manipulation. International Workshop on Source Code Analysis and Manipulation . IEEE, pp. 197-206. ISBN 0-7695-2353-6. (doi:10.1109/SCAM.2006.8) (KAR id:14424)

Language: English
Download (230kB) Preview
[thumbnail of A_Comparative_Study_of_Refactoring_Haskell_and_Erlang_Programs.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format
Official URL


Refactoring is about changing the design of existing code without changing its behaviour, but with the aim of making code easier to understand, modify, or reuse. Taking Haskell and Erlang as examples, we investigate the application of refactoring techniques to functional programs, and building tools for supporting interactive refactoring. Although both Haskell and Erlang are general-purpose functional programming languages, they have many differences in their language design and programming idioms. As a result, program refactoring in the two languages has much in common, but also considerable differences. This paper makes this comparison, and in particular looks in more detail at the refactorings applicable in each language, the program analysis required by typical refactorings, and at tool support for refactoring Haskell and Erlang programs.

Item Type: Book section
DOI/Identification number: 10.1109/SCAM.2006.8
Uncontrolled keywords: Refactoring, Haskell, Erlang
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: Mark Wheadon
Date Deposited: 24 Nov 2008 18:03 UTC
Last Modified: 16 Nov 2021 09:52 UTC
Resource URI: (The current URI for this page, for reference purposes)
Thompson, Simon:
  • Depositors only (login required):