Erlang/OTP is a functional programming environment designed for
building concurrent and distributed fault-tolerant systems with
soft real-time characteristics.
The dynamic nature of this environment, which partly comes from
concurrency and partly from dynamic language features, offers a
great challange for a refactoring tool. Refactoring is a
programming technique for improving the design of a program
without changing its behaviour. Many refactorings are concerned
with variables in some way. This paper presents variable scoping
rules for Erlang that are more suitable for describing
refactoring conditions and transformations than those given in
the Erlang reference manual.