![]() |
![]() |
University of Birmingham > Talks@bham > Theoretical computer science seminar > Towards a Formal Theory of Renaming for OCaml
Towards a Formal Theory of Renaming for OCamlAdd 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. This talk is included in these lists:
Note that ex-directory lists are not shown. |
Other listsJane Langdale Applied Mathematics Seminar Series Condensed Matter Physics SeminarsOther talksQuantum Sensing in Space Ultrafast Spectroscopy and Microscopy as probes of Energy Materials Proofs of Turán's theorem The tragic destiny of Mileva Marić Einstein Life : it’s out there, but what and why ? TBA |