Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
Tool support for refactoring functional programs
Haskell '03 Proceedings of the 2003 ACM SIGPLAN workshop on Haskell
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Bit-level binaries and generalized comprehensions in Erlang
Proceedings of the 2005 ACM SIGPLAN workshop on Erlang
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Introducing records by refactoring
ERLANG '07 Proceedings of the 2007 SIGPLAN workshop on ERLANG Workshop
Improving prolog programs: Refactoring for prolog
Theory and Practice of Logic Programming
Erlang testing and tools survey
Proceedings of the 7th ACM SIGPLAN workshop on ERLANG
Refactoring with wrangler, updated: data and process refactorings, and integration with eclipse
Proceedings of the 7th ACM SIGPLAN workshop on ERLANG
Proceedings of the 7th ACM SIGPLAN workshop on ERLANG
Clone detection and removal for Erlang/OTP within a refactoring environment
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Cleaning up Erlang code is a dirty job but somebody's gotta do it
Proceedings of the 8th ACM SIGPLAN workshop on ERLANG
Cleaning up Erlang code is a dirty job but somebody's gotta do it
Proceedings of the 8th ACM SIGPLAN workshop on ERLANG
Analysis of preprocessor constructs in Erlang
Proceedings of the 9th ACM SIGPLAN workshop on Erlang
Quickchecking refactoring tools
Proceedings of the 9th ACM SIGPLAN workshop on Erlang
CC'13 Proceedings of the 22nd international conference on Compiler Construction
Hi-index | 0.00 |
This paper describes the design goals and current status of tidier, a software tool that tidies Erlang source code, making it cleaner, simpler, and often also more efficient. In contrast to other refactoring tools, tidier is completely automatic and is not tied to any particular editor or IDE. Instead, tidier comes with a suite of code transformations that can be selected by its user via command-line options and applied in bulk on a set of modules or entire applications using a simple command. Alternatively, users can use tidier's GUI to inspect one by one the transformations that will be performed on their code and manually select only those that they fancy. We have used tidier to clean up various applications of Erlang/OTP and have tested it on many open source Erlang code bases of significant size. We briefly report our experiences and show opportunities for tidier's current set of transformations on existing Erlang code out there. As a by-product, our paper also documents what we believe are good coding practices in Erlang. Last but not least, our paper describes in detail the automatic code cleanup methodology we advocate and a set of refactorings which are general enough to be applied, as is or with only small modifications, to the source code of programs written in Haskell or Clean and possibly even in non-functional languages.