Julia Subtyping: A Rational Reconstruction

Francesco Zappa Nardelli 1, 2 Julia Belyakova 3 Artem Pelenitsyn 3 Benjamin Chung 2 Jeff Bezanson 4 Jan Vitek 2, 3
1 Parkas - Parallélisme de Kahn Synchrone
DI-ENS - Département d'informatique de l'École normale supérieure, CNRS - Centre National de la Recherche Scientifique, Inria de Paris
Abstract : Programming languages that support multiple dispatch rely on an expressive notion of subtyping to specify method applicability. In these languages, type annotations on method declarations are used to select, out of a potentially large set of methods, the one that is most appropriate for a particular tuple of arguments. Julia is a language for scientific computing built around multiple dispatch and an expressive subtyping relation. This paper provides the first formal definition of Julia's subtype relation and motivates its design. We validate our specification empirically with an implementation of our definition that we compare against the existing Julia implementation on a collection of real-world programs. Our subtype implementation differs on 122 subtype tests out of 6,014,476. The first 120 differences are due to a bug in Julia that was fixed once reported; the remaining 2 are under discussion.
Type de document :
Article dans une revue
Proceedings of the ACM on Programming Languages, ACM, 2018, 27, 〈10.1145/3276483〉
Liste complète des métadonnées

Littérature citée [4 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/hal-01882137
Contributeur : Francesco Zappa Nardelli <>
Soumis le : mercredi 26 septembre 2018 - 15:55:21
Dernière modification le : vendredi 28 septembre 2018 - 09:58:01

Fichier

paper.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Collections

Citation

Francesco Zappa Nardelli, Julia Belyakova, Artem Pelenitsyn, Benjamin Chung, Jeff Bezanson, et al.. Julia Subtyping: A Rational Reconstruction. Proceedings of the ACM on Programming Languages, ACM, 2018, 27, 〈10.1145/3276483〉. 〈hal-01882137〉

Partager

Métriques

Consultations de la notice

524

Téléchargements de fichiers

32