Thu 20 Jul 2023 10:30 - 10:45 at Habib Classroom (Gates G01) - ECOOP 4: Types Chair(s): Giorgio Audrito

Grigore proved that Java generics are Turing complete by describing a reduction from Turing machines to Java subtyping. Furthermore, he demonstrated that his ``subtyping machines'' could have metaprogramming applications if not for their extremely high compilation times. The current work reexamines Grigore’s study in the context of another prominent programming language—Python. We show that the undecidable Java fragment used in Grigore’s construction is included in Python’s type system, making it Turing complete. In contrast to Java, Python type hints are checked by third-party static analyzers and run-time type checkers. The new undecidability result means that both kinds of type checkers cannot fully incorporate Python’s type system \emph{and} guarantee termination. The paper includes a survey of infinite subtyping cycles in various type checkers and type reification in different Python distributions. In addition, we present an alternative reduction in which the Turing machines are simulated in real time, resulting in a significantly faster compilation. Our work is accompanied by a Python implementation of both reductions that compiles Turing machines into Python subtyping machines.

Ori Roth is a PhD student at the Technion—Israel Institute of Technology. His research interests include programming languages, software engineering, and automata theory.

Thu 20 Jul

Displayed time zone: Pacific Time (US & Canada) change

10:30 - 12:00
ECOOP 4: TypesResearch Papers at Habib Classroom (Gates G01)
Chair(s): Giorgio Audrito Università di Torino
10:30
15m
Talk
Python Type Hints are Turing Complete
Research Papers
Ori Roth Technion
DOI
10:45
15m
Talk
Restrictable Variants: A Simple and Practical Alternative to Extensible Variants
Research Papers
Magnus Madsen Aarhus University, Jonathan Lindegaard Starup Aarhus University, Matthew Lutze Aarhus University
DOI
11:00
15m
Talk
Modular Compilation for Higher-order Functional Choreographies
Research Papers
Luís Cruz-Filipe University of Southern Denmark, Eva Graversen University of Southern Denmark, Lovro Lugović University of Southern Denmark, Fabrizio Montesi University of Southern Denmark, Marco Peressotti University of Southern Denmark
DOI
11:15
15m
Talk
Programming with Purity Reflection: Peaceful Coexistence of Effects, Laziness, and Parallelism
Research Papers
Magnus Madsen Aarhus University, Jaco van de Pol Aarhus University
DOI
11:30
15m
Talk
Dependent Merges and First-Class Environments
Research Papers
Jinhao Tan University of Hong Kong, Bruno C. d. S. Oliveira University of Hong Kong
DOI
11:45
15m
Talk
super-Charging Object-Oriented Programming Through Precise Typing of Open Recursion
Research Papers
Andong Fan The Hong Kong University of Science and Technology, Lionel Parreaux HKUST (The Hong Kong University of Science and Technology)
DOI