作者
Nikhil Swamy, Cedric Fournet, Aseem Rastogi, Karthikeyan Bhargavan, Juan Chen, Pierre-Yves Strub, Gavin Bierman
发表日期
2014/1/8
期刊
ACM SIGPLAN Notices
卷号
49
期号
1
页码范围
425-437
出版商
ACM
简介
JavaScript's flexible semantics makes writing correct code hard and writing secure code extremely difficult. To address the former problem, various forms of gradual typing have been proposed, such as Closure and TypeScript. However, supporting all common programming idioms is not easy; for example, TypeScript deliberately gives up type soundness for programming convenience. In this paper, we propose a gradual type system and implementation techniques that provide important safety and security guarantees.
We present TS# , a gradual type system and source-to-source compiler for JavaScript. In contrast to prior gradual type systems, TS# features full runtime reflection over three kinds of types: (1) simple types for higher-order functions, recursive datatypes and dictionary-based extensible records; (2) the type any, for dynamically type-safe TS# expressions; and (3) the type un, for untrusted, potentially …
引用总数
2013201420152016201720182019202020212022202320241615129311714431
学术搜索中的文章
N Swamy, C Fournet, A Rastogi, K Bhargavan, J Chen… - ACM SIGPLAN Notices, 2014