{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T16:41:24Z","timestamp":1760028084930,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":41,"publisher":"ACM","license":[{"start":{"date-parts":[[2019,6,8]],"date-time":"2019-06-08T00:00:00Z","timestamp":1559952000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100000266","name":"Engineering and Physical Sciences Research Council","doi-asserted-by":"publisher","award":["EP\/N028759\/1"],"award-info":[{"award-number":["EP\/N028759\/1"]}],"id":[{"id":"10.13039\/501100000266","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2019,6,8]]},"DOI":"10.1145\/3314221.3314600","type":"proceedings-article","created":{"date-parts":[[2019,6,7]],"date-time":"2019-06-07T21:02:18Z","timestamp":1559941338000},"page":"950-965","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":7,"title":["Characterising renaming within OCaml\u2019s module system: theory and implementation"],"prefix":"10.1145","author":[{"given":"Reuben N. S.","family":"Rowe","sequence":"first","affiliation":[{"name":"University of Kent, UK"}]},{"given":"Hugo","family":"F\u00e9r\u00e9e","sequence":"additional","affiliation":[{"name":"University of Kent, UK"}]},{"given":"Simon J.","family":"Thompson","sequence":"additional","affiliation":[{"name":"University of Kent, UK"}]},{"given":"Scott","family":"Owens","sequence":"additional","affiliation":[{"name":"University of Kent, UK"}]}],"member":"320","published-online":{"date-parts":[[2019,6,8]]},"reference":[{"key":"e_1_3_2_2_1_1","volume-title":"\u201cwith module","author":"Caml Bug","year":"2018","unstructured":"2012. O Caml Bug Report 5514: \u201cwith module \u201d semantics seem broken. https:\/\/github.com\/ocaml\/ocaml\/issues\/5514 Last accessed 22 nd March 2018 . Communicated to us by Leo White . 2012. OCaml Bug Report 5514: \u201cwith module\u201d semantics seem broken. https:\/\/github.com\/ocaml\/ocaml\/issues\/5514 Last accessed 22 nd March 2018. Communicated to us by Leo White."},{"key":"e_1_3_2_2_2_1","unstructured":"2016. The Core OCaml System: Compilers Runtime System Base Libraries (version 4.04.0). https:\/\/github.com\/ocaml\/ocaml\/tree\/4.04.0  2016. The Core OCaml System: Compilers Runtime System Base Libraries (version 4.04.0). https:\/\/github.com\/ocaml\/ocaml\/tree\/4.04.0"},{"key":"e_1_3_2_2_3_1","unstructured":"2018. Dune: A Composable Build System. https:\/\/github.com\/ocaml\/ dune  2018. Dune: A Composable Build System. https:\/\/github.com\/ocaml\/ dune"},{"key":"e_1_3_2_2_4_1","unstructured":"2019. A Prototype Refactoring Tool for OCaml. https:\/\/gitlab.com\/ trustworthy-refactoring\/refactorer\/  2019. A Prototype Refactoring Tool for OCaml. https:\/\/gitlab.com\/ trustworthy-refactoring\/refactorer\/"},{"key":"e_1_3_2_2_5_1","unstructured":"2019. A Prototype Refactoring Tool for OCaml (Docker Image). https: \/\/hub.docker.com\/r\/reubenrowe\/ocaml-rotor\/  2019. A Prototype Refactoring Tool for OCaml (Docker Image). https: \/\/hub.docker.com\/r\/reubenrowe\/ocaml-rotor\/"},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276484"},{"volume-title":"Concurrent Programming in ERLANG (2 nd ed.)","author":"Armstrong Joe","key":"e_1_3_2_2_7_1","unstructured":"Joe Armstrong , Robert Virding , Claes Wikstr\u00f6m , and Mike Williams . 1996. Concurrent Programming in ERLANG (2 nd ed.) . Prentice Hall International (UK) Ltd ., Hertfordshire, UK. Joe Armstrong, Robert Virding, Claes Wikstr\u00f6m, and Mike Williams. 1996. Concurrent Programming in ERLANG (2 nd ed.). Prentice Hall International (UK) Ltd., Hertfordshire, UK."},{"key":"e_1_3_2_2_8_1","volume-title":"QL: Object-oriented Queries on Relational Data. In 30th European Conference on Object-Oriented Programming, ECOOP 2016","author":"Avgustinov Pavel","year":"2016","unstructured":"Pavel Avgustinov , Oege de Moor , Michael Peyton Jones , and Max Sch\u00e4fer . 2016 . QL: Object-oriented Queries on Relational Data. In 30th European Conference on Object-Oriented Programming, ECOOP 2016 , July 18-22, 2016, Rome, Italy. 2:1\u20132:25. Pavel Avgustinov, Oege de Moor, Michael Peyton Jones, and Max Sch\u00e4fer. 2016. QL: Object-oriented Queries on Relational Data. In 30th European Conference on Object-Oriented Programming, ECOOP 2016, July 18-22, 2016, Rome, Italy. 2:1\u20132:25."},{"key":"e_1_3_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2007.11.003"},{"key":"e_1_3_2_2_10_1","unstructured":"The Coq Development Team. 2018. The Coq Proof Assistant version 8.8.0.  The Coq Development Team. 2018. The Coq Proof Assistant version 8.8.0."},{"key":"e_1_3_2_2_11_1","volume-title":"Refactoring: Improving the Design of Existing Code","author":"Fowler Martin","year":"1999","unstructured":"Martin Fowler , Kent Beck , John Brant , William Opdyke , and Don Roberts . 1999 . Refactoring: Improving the Design of Existing Code . Addison-Wesley Longman Publishing Co., Inc. , Boston, MA, USA . Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA."},{"key":"e_1_3_2_2_12_1","unstructured":"Alain Frisch. 2014. PPX and Extension Points. https:\/\/lexifi.com\/blog\/ ppx-and-extension-points (blog post).  Alain Frisch. 2014. PPX and Extension Points. https:\/\/lexifi.com\/blog\/ ppx-and-extension-points (blog post)."},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1109\/MS.2015.107"},{"key":"e_1_3_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094855.1094884"},{"key":"e_1_3_2_2_15_1","unstructured":"Jane Street. 2018. Standard Library Overlay. https:\/\/github.com\/ janestreet\/core  Jane Street. 2018. Standard Library Overlay. https:\/\/github.com\/ janestreet\/core"},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2535838.2535841"},{"key":"e_1_3_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/604174.604179"},{"key":"e_1_3_2_2_18_1","volume-title":"5th International Symposium, PADL 2003, New Orleans, LA, USA, January 13-14, 2003, Proceedings. Springer-Verlag","author":"L\u00e4mmel Ralf","year":"2003","unstructured":"Ralf L\u00e4mmel and Joost Visser . 2003 . A Strafunski Application Letter. In Practical Aspects of Declarative Languages , 5th International Symposium, PADL 2003, New Orleans, LA, USA, January 13-14, 2003, Proceedings. Springer-Verlag , Heidelberg Berlin, Germany, 357\u2013375. Ralf L\u00e4mmel and Joost Visser. 2003. A Strafunski Application Letter. In Practical Aspects of Declarative Languages, 5th International Symposium, PADL 2003, New Orleans, LA, USA, January 13-14, 2003, Proceedings. Springer-Verlag, Heidelberg Berlin, Germany, 357\u2013375."},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/174675.176926"},{"key":"e_1_3_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/199448.199476"},{"key":"e_1_3_2_2_21_1","unstructured":"Xavier Leroy Damien Doligez Alain Frisch Jacques Garrigue Didier R\u00e9my and J\u00e9r\u00f4me Vouillon. 2018. The OCaml System Release 4.07 Documentation and User\u2019s Manual. http:\/\/caml.inria.fr\/pub\/docs\/ manual-ocaml\/  Xavier Leroy Damien Doligez Alain Frisch Jacques Garrigue Didier R\u00e9my and J\u00e9r\u00f4me Vouillon. 2018. The OCaml System Release 4.07 Documentation and User\u2019s Manual. http:\/\/caml.inria.fr\/pub\/docs\/ manual-ocaml\/"},{"key":"e_1_3_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-28872-2_34"},{"key":"e_1_3_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411273.1411283"},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2005.02.053"},{"key":"e_1_3_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2004.01.001"},{"key":"e_1_3_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/950792.951387"},{"key":"e_1_3_2_2_28_1","volume-title":"Proceedings of the 32nd IEEE\/ACM International Conference on Automated Software Engineering, ASE 2017","author":"Menarini Massimiliano","year":"2017","unstructured":"Massimiliano Menarini , Yan Yan , and William G. Griswold . 2017. Semantics-assisted Code Review: An Efficient Toolchain and a User Study . In Proceedings of the 32nd IEEE\/ACM International Conference on Automated Software Engineering, ASE 2017 , Urbana, IL, USA, October 30 \u2013 November 03, 2017 . IEEE Computer Society, 554\u2013565. Massimiliano Menarini, Yan Yan, and William G. Griswold. 2017. Semantics-assisted Code Review: An Efficient Toolchain and a User Study. In Proceedings of the 32nd IEEE\/ACM International Conference on Automated Software Engineering, ASE 2017, Urbana, IL, USA, October 30 \u2013 November 03, 2017. IEEE Computer Society, 554\u2013565."},{"key":"e_1_3_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2004.1265817"},{"volume-title":"Real World OCaml: Functional Programming for the Masses. O\u2019Reilly Media","author":"Minsky Yaron","key":"e_1_3_2_2_30_1","unstructured":"Yaron Minsky , Anil Madhavapeddy , and Jason Hickey . 2013. Real World OCaml: Functional Programming for the Masses. O\u2019Reilly Media , Sebastopol, CA, USA . Yaron Minsky, Anil Madhavapeddy, and Jason Hickey. 2013. Real World OCaml: Functional Programming for the Masses. O\u2019Reilly Media, Sebastopol, CA, USA."},{"key":"e_1_3_2_2_31_1","volume-title":"ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. 205\u2013 231","author":"Neron Pierre","year":"2015","unstructured":"Pierre Neron , Andrew P. Tolmach , Eelco Visser , and Guido Wachsmuth . 2015 . A Theory of Name Resolution. In Programming Languages and Systems - 24th European Symposium on Programming , ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. 205\u2013 231 . Pierre Neron, Andrew P. Tolmach, Eelco Visser, and Guido Wachsmuth. 2015. A Theory of Name Resolution. In Programming Languages and Systems - 24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. 205\u2013 231."},{"key":"e_1_3_2_2_33_1","unstructured":"Simon Peyton Jones (Ed.). 2003. Haskell 98 Language and Libraries: Revised Report. Cambridge University Press Cambridge UK. https: \/\/haskell.org\/onlinereport  Simon Peyton Jones (Ed.). 2003. Haskell 98 Language and Libraries: Revised Report. Cambridge University Press Cambridge UK. https: \/\/haskell.org\/onlinereport"},{"key":"e_1_3_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3110272"},{"key":"e_1_3_2_2_35_1","volume-title":"Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics. In 30th European Conference on ObjectOriented Programming, ECOOP 2016","author":"Poulsen Casper Bach","year":"2016","unstructured":"Casper Bach Poulsen , Pierre N\u00e9ron , Andrew P. Tolmach , and Eelco Visser . 2016 . Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics. In 30th European Conference on ObjectOriented Programming, ECOOP 2016 , July 18-22, 2016, Rome, Italy. 20:1\u2013 20:26. Casper Bach Poulsen, Pierre N\u00e9ron, Andrew P. Tolmach, and Eelco Visser. 2016. Scopes Describe Frames: A Uniform Model for Memory Layout in Dynamic Semantics. In 30th European Conference on ObjectOriented Programming, ECOOP 2016, July 18-22, 2016, Rome, Italy. 20:1\u2013 20:26."},{"key":"e_1_3_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796814000264"},{"key":"e_1_3_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449787"},{"key":"e_1_3_2_2_38_1","volume-title":"Gradual Typing for Functional Languages. In Scheme and Functional Programming 2006 - Proceedings of the 2006 Workshop on Scheme and Functional Programming","author":"Jeremy","year":"2006","unstructured":"Jeremy G. Siek and Walid Taha. 2006 . Gradual Typing for Functional Languages. In Scheme and Functional Programming 2006 - Proceedings of the 2006 Workshop on Scheme and Functional Programming , Portland, Oregon, Sunday September 17, 2006 , Robert Bruce Findler (Ed.). University of Chicago, 1100 East 58th Street, Chicago, IL 60637, 81\u201392. https:\/\/newtraell.cs.uchicago.edu\/research\/publications\/ techreports\/TR-2006-06 Technical Report TR-2006-06. Jeremy G. Siek and Walid Taha. 2006. Gradual Typing for Functional Languages. In Scheme and Functional Programming 2006 - Proceedings of the 2006 Workshop on Scheme and Functional Programming, Portland, Oregon, Sunday September 17, 2006, Robert Bruce Findler (Ed.). University of Chicago, 1100 East 58th Street, Chicago, IL 60637, 81\u201392. https:\/\/newtraell.cs.uchicago.edu\/research\/publications\/ techreports\/TR-2006-06 Technical Report TR-2006-06."},{"key":"e_1_3_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-73589-2_2"},{"key":"e_1_3_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-71067-7_6"},{"key":"e_1_3_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796813000117"},{"key":"e_1_3_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1134285.1134311"},{"volume-title":"Towards Formal Proof Script Refactoring","author":"Whiteside Iain","key":"e_1_3_2_2_43_1","unstructured":"Iain Whiteside , David Aspinall , Lucas Dixon , and Gudmund Grov . 2011. Towards Formal Proof Script Refactoring . In Intelligent Computer Mathematics, James H. Davenport, William M. Farmer, Josef Urban, and Florian Rabe (Eds.). Springer , Berlin\/ Heidelberg, Germany , 260\u2013275. Iain Whiteside, David Aspinall, Lucas Dixon, and Gudmund Grov. 2011. Towards Formal Proof Script Refactoring. In Intelligent Computer Mathematics, James H. Davenport, William M. Farmer, Josef Urban, and Florian Rabe (Eds.). Springer, Berlin\/Heidelberg, Germany, 260\u2013275."}],"event":{"name":"PLDI '19: 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"Phoenix AZ USA","acronym":"PLDI '19"},"container-title":["Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3314221.3314600","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3314221.3314600","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:53:22Z","timestamp":1750204402000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3314221.3314600"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,6,8]]},"references-count":41,"alternative-id":["10.1145\/3314221.3314600","10.1145\/3314221"],"URL":"https:\/\/doi.org\/10.1145\/3314221.3314600","relation":{},"subject":[],"published":{"date-parts":[[2019,6,8]]},"assertion":[{"value":"2019-06-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}