Practical, Pluggable Types

Abstract : Most languages fall into one of two camps: either they adopt a unique, static type system, or they abandon static type-checks for run-time checks. Pluggable types blur this division by (i) making static type systems optional, and (ii) supporting a choice of type systems for reasoning about different kinds of static properties. Dynamic languages can then benefit from static-checking without sacrificing dynamic features or committing to a unique, static type system. But the overhead of adopting pluggable types can be very high, especially if all existing code must be decorated with type annotations before any type-checking can be performed. We propose a practical and pragmatic approach to introduce pluggable type systems to dynamic languages. First of all, only annotated code is type-checked. Second, limited type inference is performed on unannotated code to reduce the number of reported errors. Finally, external annotations can be used to type third-party code. We present Typeplug, a Smalltalk implementation of our framework, and report on experience applying the framework to three different pluggable type systems.
Type de document :
Communication dans un congrès
ACM Digital Library. 2007 International Conference on Dynamic Languages (ICDL 2007), 2007, Lugano, Switzerland. pp.183-204, 2007, Proceedings of the 2007 International Conference on Dynamic Languages (ICDL 2007). 〈10.1145/1352678.1352690〉
Liste complète des métadonnées

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

https://hal.inria.fr/inria-00555783
Contributeur : Lse Lse <>
Soumis le : vendredi 14 janvier 2011 - 14:17:35
Dernière modification le : vendredi 14 janvier 2011 - 17:10:53
Document(s) archivé(s) le : mardi 6 novembre 2012 - 11:31:41

Fichier

Hald07b-Typeplug.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Citation

Niklaus Haldiman, Marcus Denker, Oscar Nierstrasz. Practical, Pluggable Types. ACM Digital Library. 2007 International Conference on Dynamic Languages (ICDL 2007), 2007, Lugano, Switzerland. pp.183-204, 2007, Proceedings of the 2007 International Conference on Dynamic Languages (ICDL 2007). 〈10.1145/1352678.1352690〉. 〈inria-00555783〉

Partager

Métriques

Consultations de la notice

100

Téléchargements de fichiers

40