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)
PDF
Language: English |
|
Download (230kB)
Preview
|
Preview |
This file may not be suitable for users of assistive technology.
Request an accessible format
|
|
Official URL http://dx.doi.org/10.1109/SCAM.2006.8 |
Abstract
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 Feb 2021 12:25 UTC |
Resource URI: | https://kar.kent.ac.uk/id/eprint/14424 (The current URI for this page, for reference purposes) |
Thompson, Simon: | ![]() |
- Link to SensusAccess
- Export to:
- RefWorks
- EPrints3 XML
- BibTeX
- CSV
- Depositors only (login required):