2015
DOI: 10.1145/2775051.2676971
|View full text |Cite
|
Sign up to set email alerts
|

Safe & Efficient Gradual Typing for TypeScript

Abstract: Current proposals for adding gradual typing to JavaScript, such as Closure, TypeScript and Dart, forgo soundness to deal with issues of scale, code reuse, and popular programming patterns. We show how to address these issues in practice while retaining soundness. We design and implement a new gradual type system, prototyped for expediency as a 'Safe' compilation mode for TypeScript. Our compiler achieves soundness by enforcing stricter static checks and embedding residual runtime checks in compiled code. It em… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
39
0

Year Published

2015
2015
2020
2020

Publication Types

Select...
4
3

Relationship

1
6

Authors

Journals

citations
Cited by 31 publications
(39 citation statements)
references
References 32 publications
0
39
0
Order By: Relevance
“…Figure 12 presents the dynamic behavior of the two languages. Rules for FRSC have been adapted from Rastogi et al [27]. Note how in rule R-CAST the cast operation reduces to a call to the built-in check function, where T encodes type T .…”
Section: Consistencymentioning
confidence: 99%
See 2 more Smart Citations
“…Figure 12 presents the dynamic behavior of the two languages. Rules for FRSC have been adapted from Rastogi et al [27]. Note how in rule R-CAST the cast operation reduces to a call to the built-in check function, where T encodes type T .…”
Section: Consistencymentioning
confidence: 99%
“…We selected benchmarks that make heavy use of language constructs connected to the safety properties described above. These include parts of the Octane test suite, developed by Google as a JavaScript performance benchmark [12] and already ported to TS by Rastogi et al [27], the TS compiler [22], and the D3 [4] and Transducers libraries [7]:…”
Section: Benchmarksmentioning
confidence: 99%
See 1 more Smart Citation
“…TypeScript. TypeScript 4 is a typed superset of JavaScript that compiles to plain JavaScript [19]. In fact, it does not compile to only one version of JavaScript.…”
Section: Code Generator Familiesmentioning
confidence: 99%
“…Since then, the TypeScript programming language [11] was proposed as a flexible language that adds optional types to JavaScript with the goal of harnessing the flexibility of real JavaScript, while at the same time providing some of the advantages otherwise reserved for statically typed languages, such as informative compiling errors. Recently, Rastogi et al [12] designed and implemented a new gradual type system for safely compiling TypeScript to JavaScript. The soundness of the proposed approach is guaranteed by combining strict static checks with residual runtime checks.…”
Section: Related Workmentioning
confidence: 99%