University of Birmingham > Talks@bham > Theoretical computer science seminar > Towards a Formal Theory of Renaming for OCaml

Towards a Formal Theory of Renaming for OCaml

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Noam Zeilberger.

[Comment from the organiser: note the non-standard time of the talk, beginning at 10:30am in the Sloman Lounge, rather than at 11am.]

In this talk, I will describe work in progress towards developing a tool to automatically perform renaming of functions in OCaml. This ostensibly simple task is not as straightforward as it might at first seem, due to OCaml’s rich module system, language infrastructure and preprocessors. Our main observation is that renaming a particular function in one module may require renaming declarations and functions in many other signatures and modules. In this sense, renamings can comprise many constituent atomic steps which all ‘depend’ on each other for their overall correctness.

I will first present a set-theoretic static semantics for a core subset of OCaml, which we are developing to formally describe exactly which parts of a program must be changed in order to correctly rename a function. This allows us to develop a ‘theory’ of renaming for OCaml. I will then describe ROTOR , a prototype tool that we have developed to carry out renaming on OCaml codebases. We have tested ROTOR on some moderately large codebases, including a subset of Jane Street Capital’s publicly available libraries, and the OCaml compiler itself.

This is joint work with Simon Thompson and Hugo Férée.

This talk is part of the Theoretical computer science seminar series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.

 

Talks@bham, University of Birmingham. Contact Us | Help and Documentation | Privacy and Publicity.
talks@bham is based on talks.cam from the University of Cambridge.