Wrangler

 
 

Wrangler is an interactive refactoring tool for Erlang, integrated into both emacs and Eclipse.


Wrangler’s refactorings cover structural changes such as function, variable and module renaming, function extraction and generalisation. Wrangler recognises macros in code, and can be used on a single file or across a whole project.


Wrangler can also be used to locate and remove code clones, through a tool that locates and reports on similar code fragments, suggesting possible abstractions.


Wrangler also supports testing in EUnit, QuickCheck and Common Test, so your tests are refactored automatically when you refactor your code.

Obtaining Wrangler


The latest snapshot of Wrangler


Wrangler is part of Erlide, the Erlang plugin for Eclipse.




Video


Wrangler video tutorials:


- Getting started with Wrangler

- Basic refactorings in Wrangler

  1. -Structural refactorings in Wrangler

  2. -Refactoring and Clone Detection in Wrangler


Tutorial (EUC 2010)


Slides: ppt pdf

Exercises: doc pdf

Example code: gz


Under the hood


InfoQ interview with Huiqing and Simon on refactoring


Links


The Wrangler trac wiki

ProTest project 

FORSE project

HaRe: the Haskell refactorer

Simon Thompson 

Huiqing Li


Acknowledgement


The development of Wrangler is supported by EPSRC and the European Commission through the 7th Framework Programme.

Wrangler