A compilation method for dynamic typing in MLVirtual
Sun 17 Oct 2021 22:05 - 22:20 at Zurich D - Compilation / Transformation (mirror) Chair(s): Xin Zhang
This paper develops a systematic method for extending a polymorphic type system of ML with dynamic typing, and implements the extension in SML#, a full-scale native code compiler of Standard ML. The core of the extension consists of an adaptation of the type-directed compilation method for non-parametric polymorphism to type tag abstraction and type tag generation guided by type abstraction and type application. To support existentially bound type variables in dynamic value elimination and user-level manipulation of dynamic values, the conventional type-directed compilation framework is extended with existential types and a mechanism to reify dynamic values to user-level datatypes. The resulting language achieves orthogonal integration of dynamic typing in ML; it supports all the standard features of ML, including polymorphic type inference, user-defined datatypes and pattern matching in programming with dynamic typing. The implementation readily provides various practical features, including polymorphic first-class pretty-printer, polymorphic deserialization, type-safe interface to database systems, and type-safe meta-programming. The paper demonstrates its practical usefulness through programming examples.
Sun 17 OctDisplayed time zone: Central Time (US & Canada) change
13:50 - 15:10 | Compilation / TransformationResearch Papers at Zurich D +8h Chair(s): Sam Lindley The University of Edinburgh, UK | ||
13:50 15mTalk | A Dictionary-Passing Translation of Featherweight GoVirtual Research Papers Martin Sulzmann Karlsruhe University of Applied Sciences, Germany, Stefan Wehr Offenburg University of Applied Sciences | ||
14:05 15mTalk | A compilation method for dynamic typing in MLVirtual Research Papers | ||
14:20 15mTalk | Fully Abstract and Robust Compilation and How to Reconcile the Two, AbstractlyVirtual Research Papers Carmine Abate Max Planck Institute for Security and Privacy, Bochum, Germany, Matteo Busi Università di Pisa - Dipartimento di Informatica, Stelios Tsampas FAU Erlangen-Nuremberg, INF 8 | ||
14:35 15mTalk | Hybrid quantum-classical circuit simplification with the ZX-calculusVirtual Research Papers Agustín Borgna Université de Lorraine, CNRS, Inria, LORIA F 54000 Nancy, France and Université Paris-Saclay, CNRS, Laboratoire Méthodes Formelles, 91405, Orsay, France, Simon Perdrix Université de Lorraine, CNRS, Inria, LORIA F 54000 Nancy, France, Benoit Valiron LRI, CentraleSupelec, Univ. Paris Saclay | ||
14:50 20mLive Q&A | Q&A and discussionVirtual Research Papers |
21:50 - 23:10 | Compilation / Transformation (mirror)Research Papers at Zurich D Chair(s): Xin Zhang Peking University | ||
21:50 15mTalk | A Dictionary-Passing Translation of Featherweight GoVirtual Research Papers Martin Sulzmann Karlsruhe University of Applied Sciences, Germany, Stefan Wehr Offenburg University of Applied Sciences | ||
22:05 15mTalk | A compilation method for dynamic typing in MLVirtual Research Papers | ||
22:20 15mTalk | Fully Abstract and Robust Compilation and How to Reconcile the Two, AbstractlyVirtual Research Papers Carmine Abate Max Planck Institute for Security and Privacy, Bochum, Germany, Matteo Busi Università di Pisa - Dipartimento di Informatica, Stelios Tsampas FAU Erlangen-Nuremberg, INF 8 | ||
22:35 15mTalk | Hybrid quantum-classical circuit simplification with the ZX-calculusVirtual Research Papers Agustín Borgna Université de Lorraine, CNRS, Inria, LORIA F 54000 Nancy, France and Université Paris-Saclay, CNRS, Laboratoire Méthodes Formelles, 91405, Orsay, France, Simon Perdrix Université de Lorraine, CNRS, Inria, LORIA F 54000 Nancy, France, Benoit Valiron LRI, CentraleSupelec, Univ. Paris Saclay | ||
22:50 20mLive Q&A | Q&A and discussionVirtual Research Papers |