Wed 17 Jul 2019 14:30 - 14:50 at Mancy - Types Chair(s): Davide Ancona

The Julia programming language supports multiple dispatch and provides a rich type annotation language to specify method applicability. When multiple methods are applicable for a given call, Julia relies on subtyping between method signatures to pick the correct method to invoke. Julia’s subtyping algorithm is surprisingly complex, and determining whether it is correct remains an open question. In this paper, we focus on one piece of this problem: the interaction between union types and covariant tuples. Previous work normalized unions inside tuples to disjunctive normal form. However, this strategy has two drawbacks: complex type signatures induce space explosion, and interference between normalization and other features of Julia’s type system. In this paper, we describe the algorithm that Julia uses to compute subtyping between tuples and unions - an algorithm that is immune to space explosion and plays well with other features of the language. We prove this algorithm correct and complete against a semantic-subtyping denotational model in Coq.

Wed 17 Jul

ecoop-2019-papers
13:30 - 15:10: Research Papers - Types at Mancy
Chair(s): Davide AnconaUniversity of Genova
ecoop-2019-papers13:30 - 13:50
Research paper
Richard RobertsVictoria University of Wellington, Stefan MarrUniversity of Kent, Michael HomerVictoria University of Wellington, James NobleVictoria University of Wellington
DOI
ecoop-2019-papers13:50 - 14:10
Research paper
Jan de Muijnck-HughesUniversity of Glasgow, Wim VanderbauwhedeUniversity of Glasgow
DOI
ecoop-2019-papers14:10 - 14:30
Research paper
Alen ArslanagićUniversity of Groningen, Jorge A. PérezUniversity of Groningen, The Netherlands, Erik VoogdUniversity of Groningen
DOI
ecoop-2019-papers14:30 - 14:50
Research paper
Benjamin ChungNortheastern University, Francesco Zappa NardelliInria, Jan VitekNortheastern University
DOI
ecoop-2019-papers14:50 - 15:10
Research paper
Aleksandr MisonizhnikSaint-Petersburg State University, Dmitry MordvinovSaint-Petersburg State University, JetBrains Research
DOI