Lune

PLDI2024Top-tier venue

Decidable Subtyping of Existential Types for Julia

Julia Belyakova, Benjamin Chung, Ross Tate, Jan Vitek

2024Year
2Citations

Abstract

Julia is a modern scientific-computing language that relies on multiple dispatch to implement generic libraries. While the language does not have a static type system, method declarations are decorated with expressive type annotations to determine when they are applicable. To find applicable methods, the implementation uses subtyping at run-time. We show that Julia’s subtyping is undecidable, and we propose a restriction on types to recover decidability by stratifying types into method signatures over value types—where the former can freely use bounded existential types but the latter are restricted to use-site variance. A corpus analysis suggests that nearly all Julia programs written in practice already conform to this restriction.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext a0041381-cf99-4511-9eb4-13d311fcb373

Builds on3

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines