2017
DOI: 10.1145/3133878
|View full text |Cite
|
Sign up to set email alerts
|

Sound gradual typing: only mostly dead

Abstract: While gradual typing has proven itself attractive to programmers, many systems have avoided sound gradual typing due to the run time overhead of enforcement. In the context of sound gradual typing, both anecdotal and systematic evidence has suggested that run time costs are quite high, and often unacceptable, casting doubt on the viability of soundness as an approach. We show that these overheads are not fundamental, and that with appropriate improvements, just-intime compilers can greatly reduce the overhead … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
28
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
5
1

Relationship

0
6

Authors

Journals

citations
Cited by 26 publications
(28 citation statements)
references
References 33 publications
0
28
0
Order By: Relevance
“…Here are a few suggestions. To reduce the cost of high-frequency checks, the runtime system could cache the results of successful checks (Ren & Foster, 2016) or implement a tracing JIT compiler tailored to identify dynamic type assertions (Bauman et al, 2015(Bauman et al, , 2017. Highcost types may be a symptom of inefficiencies in the translation from types to dynamic checks.…”
Section: The Future Of Gradual Typingmentioning
confidence: 99%
“…Here are a few suggestions. To reduce the cost of high-frequency checks, the runtime system could cache the results of successful checks (Ren & Foster, 2016) or implement a tracing JIT compiler tailored to identify dynamic type assertions (Bauman et al, 2015(Bauman et al, , 2017. Highcost types may be a symptom of inefficiencies in the translation from types to dynamic checks.…”
Section: The Future Of Gradual Typingmentioning
confidence: 99%
“…To dig into the performance of typed/untyped benchmarks in more detail, consider figure 15. It shows scatter plots inspired by those in Bauman et al [2017]'s performance comparison between Racket and Pycket. In our plots, every point corresponds to one configuration of the benchmark shown in the plot.…”
Section: Overall Cost Of Gradual Typingmentioning
confidence: 99%
“…A second, earlier effort is the Pycket tracing JIT compiler [Bauman et al 2017]. Pycket is a compiler and runtime system for Typed Racket that is implemented in PyPy [Bolz et al 2009].…”
mentioning
confidence: 99%
“…work has addressed the problem through new languages with more efficient gradually typed semantics [Muehlboeck and Tate 2017;Vitousek et al 2017] and through new implementation techniques for existing languages [Bauman et al 2017;Richards et al 2017]. There are two main differences between our work and previous efforts: First, our approach does not require changes to existing gradually typed languages or implementations; it works with the prevailing implementation technique of translating a typed variant of a language into an underlying untyped language.…”
Section: :7mentioning
confidence: 99%