APLAS 2023
Sun 26 - Wed 29 November 2023 Taipei, Taiwan
Mon 27 Nov 2023 10:30 - 11:00 at Room 106 & 107, IIS - Types Chair(s): Jacques Garrigue

Programming with versions is a paradigm that allows a program to use multiple versions of a module so that the programmer can selectively use functions from both older and newer versions of a single module. While previous work showed λVL, a core calculus for programming with versions, it has not been integrated into practical programming languages. In this paper, we propose VL, a Haskell-based surface language for λVL along with its compilation method. VL leverages Girard’s translation, a newly proposed bundling process, and a type and version inference algorithm to support multiple versions of modules with minimal version annotations. The paper gives a formal definition of the inference algorithm and an implementation of a compiler. A case study shows that VL can support a scenario of software evolution that happened in practice.

Mon 27 Nov

Displayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change

10:30 - 12:00
TypesAPLAS 2023 at Room 106 & 107, IIS
Chair(s): Jacques Garrigue Nagoya University
10:30
30m
Talk
Compilation Semantics for a Programming Language with Versions
APLAS 2023
Yudai Tanabe Kyoto University, Luthfan Anshar Lubis Tokyo Institute of Technology, Tomoyuki Aotani Sanyo-Onoda City University, Hidehiko Masuhara Tokyo Institute of Technology
11:00
30m
Talk
What Types are Needed for Typing Dynamic Objects? A Python-based Empirical Study
APLAS 2023
Ke Sun Peking University, Sheng Chen University of Louisiana at Lafayette, Meng Wang University of Bristol, Dan Hao Peking University
11:30
30m
Talk
Types and Semantics for Extensible Data Types
APLAS 2023
Cas van der Rest Delft University of Technology, Casper Bach Poulsen Delft University of Technology