Refactoring is the process of changing the design of a program without changing what it does. Typical refactorings, such as function extraction and generalisation, are intended to make a program more amenable to extension, more comprehensible and so on. Refactorings differ from other sorts of program transformation in being applied to source code, rather than to a ‘core’ language within a compiler, and also in having an effect across a code base, rather than to a single function definition, say. Because of this, there is a need to give automated support to the process. This paper reflects on our experience of building tools to refactor functional programs written in Haskell (HaRe) and Erlang (Wrangler). We begin by discussing what refactori...
The task of making changes to an existing code base to improve performance, legibility, or extensibi...
Refactoring tools allow the programmer to pretend they are working with a richer language where the ...
When designing critical software, great care must be taken to guarantee its correctness. Refactoring...
We present the Haskell Refactorer, HaRe, and the Erlang Refactorer, Wrangler, as examples of fully-f...
Refactorings are source-to-source program transformations which change program structure and organis...
Refactoring is about changing the design of existing code without changing its behaviour, but with t...
This document is the first draft of a catalogue of refactorings for functional programs. Most are ap...
Refactoring is the process of redesigning existing code without changing its functionality. Refactor...
We demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool for a com...
AbstractWe demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool f...
Abstract: Refactoring is a technique for improving the design of existing pro-grams without changing...
Refactoring tools are an important tool for developers, but their reliability can be questionable at...
We describe refactoring for Erlang programs, and work in progress to build two tools to give machine...
Abstract. Refactoring is the process of changing the structure of a pro-gram while preserving its be...
This paper presents the model, the design principles and the prototype of a refactoring toolset for ...
The task of making changes to an existing code base to improve performance, legibility, or extensibi...
Refactoring tools allow the programmer to pretend they are working with a richer language where the ...
When designing critical software, great care must be taken to guarantee its correctness. Refactoring...
We present the Haskell Refactorer, HaRe, and the Erlang Refactorer, Wrangler, as examples of fully-f...
Refactorings are source-to-source program transformations which change program structure and organis...
Refactoring is about changing the design of existing code without changing its behaviour, but with t...
This document is the first draft of a catalogue of refactorings for functional programs. Most are ap...
Refactoring is the process of redesigning existing code without changing its functionality. Refactor...
We demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool for a com...
AbstractWe demonstrate the Haskell Refactorer, HaRe, both as an example of a fully-functional tool f...
Abstract: Refactoring is a technique for improving the design of existing pro-grams without changing...
Refactoring tools are an important tool for developers, but their reliability can be questionable at...
We describe refactoring for Erlang programs, and work in progress to build two tools to give machine...
Abstract. Refactoring is the process of changing the structure of a pro-gram while preserving its be...
This paper presents the model, the design principles and the prototype of a refactoring toolset for ...
The task of making changes to an existing code base to improve performance, legibility, or extensibi...
Refactoring tools allow the programmer to pretend they are working with a richer language where the ...
When designing critical software, great care must be taken to guarantee its correctness. Refactoring...