Introducing ROTOR

ROTOR is a tool for refactoring large, multi-file OCaml codebases. It is written in OCaml.

ROTOR has been developed at the University of Kent, as part of an EPSRC-funded project on Trustworthy Refactoring.

Currently, ROTOR can perform renaming of top-level value bindings within modules, and also carry out a fine-grained module dependency analysis of an OCaml codebase. It uses .merlin configuration files to determine where source files and libraries are located.

ROTOR can be installed via OPAM.

  > opam install rotor

It is invoked on the command line.

  > rotor rename <identifier> <new-name>

ROTOR outputs a diff patch which can be applied to your codebase to effect the refactoring.

See the Getting Started page for more.