Incremental Overload Resolution in Object-Oriented Programming Languages
Object-oriented programming languages feature static and dynamic overloading: Multiple methods share the same name but provide different implementations. Dynamic overloading (also known as dynamic dispatch) is resolved at run time based on the type of the receiver object. In this paper, we focus on static overloading, which is resolved at compile time based on the types of the method arguments. The challenge this paper addresses is to incrementalize static overload resolution in IDEs. IDEs resolve overloaded methods for the developer to help them discern which implementation a method call refers to. However, as the code changes, the IDE has to reconsider previously resolved method calls when they are affected by the code change. This paper clarifies when a method call is affected by a code change and how to re-resolve method calls with minimal computational effort. To this end, we explore and compare two approaches to incremental type checking: co-contextual type checking and IncA.
Mon 16 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30 | |||
11:00 30mFull-paper | Monotonic Gradual Typing in a Common Calculus FTfJP Pre-print | ||
11:30 30mFull-paper | Incremental Overload Resolution in Object-Oriented Programming Languages FTfJP Tamás Szabó itemis AG / TU Delft, Edlira Kuci TU Darmstadt, Germany, Matthijs Bijman Delft University of Technology, Mira Mezini TU Darmstadt, Sebastian Erdweg TU Delft Pre-print | ||
12:00 30mFull-paper | Safely Abstracting Memory Layouts FTfJP Juliana Franco Microsoft Research, Cambridge, Alexandros Tasos Imperial College London, Sophia Drossopoulou Imperial College London, Tobias Wrigstad Uppsala University, Susan Eisenbach Imperial College London Pre-print |