Cast Insertion Strategies for Gradually-Typed Objects
Author
dc.contributor.author
Allende, Esteban
Author
dc.contributor.author
Fabry, Johan K.
es_CL
Author
dc.contributor.author
Tanter, Éric Pierre
es_CL
Admission date
dc.date.accessioned
2014-12-15T15:36:09Z
Available date
dc.date.available
2014-12-15T15:36:09Z
Publication date
dc.date.issued
2014
Cita de ítem
dc.identifier.citation
ACM Volume 49 Issue 2, February 2014
en_US
Identifier
dc.identifier.other
DOI: 10.1145/2508168.2508171
Identifier
dc.identifier.uri
https://repositorio.uchile.cl/handle/2250/126587
General note
dc.description
Artículo de publicación ISi
en_US
Abstract
dc.description.abstract
Gradual typing enables a smooth and progressive integration of
static and dynamic typing. The semantics of a gradually-typed
program is given by translation to an intermediate language with
casts: runtime type checks that control the boundaries between
statically- and dynamically-typed portions of a program. This paper
studies the performance of different cast insertion strategies in
the context of Gradualtalk, a gradually-typed Smalltalk. We first
implement the strategy specified by Siek and Taha, which inserts
casts at call sites. We then study the dual approach, which consists
in performing casts in callees. Based on the observation that both
strategies perform well in different scenarios, we design a hybrid
strategy that combines the best of each approach. We evaluate
these three strategies using both micro- and macro-benchmarks.We
also discuss the impact of these strategies on memory, modularity,
and inheritance. The hybrid strategy constitutes a promising cast
insertion strategy for adding gradual types to existing dynamicallytyped
languages.