License: Creative Commons Attribution 3.0 Germany license (CC BY 3.0 DE)
When quoting this document, please refer to the following
DOI: 10.4230/DARTS.3.2.8
URN: urn:nbn:de:0030-drops-72899
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2017/7289/
Williams, Jack ;
Morris, J. Garrett ;
Wadler, Philip ;
Zalewski, Jakub
Mixed Messages: Measuring Conformance and Non-Interference in TypeScript (Artifact)
Abstract
In the paper Mixed Messages: Measuring Conformance and Non-Interference in TypeScript we present our experiences of evaluating gradual typing using our tool TypeScript TPD. The tool, based on the polymorphic blame calculus, monitors JavaScript libraries and TypeScript clients against the corresponding TypeScript definition. Our experiments yield two conclusions. First, TypeScript definitions are prone to error. Second, there are serious technical concerns with the use of the JavaScript proxy mechanism for enforcing contracts. This artifact includes all the libraries we tested, their definition files, and the source code of our tool. From this, all libraries can be wrapped and tested to reproduce the log data that formed our conclusion. All conformance errors and examples of interference are documented, and can be verified against the generated logs.
BibTeX - Entry
@Article{williams_et_al:DARTS:2017:7289,
author = {Jack Williams and J. Garrett Morris and Philip Wadler and Jakub Zalewski},
title = {{Mixed Messages: Measuring Conformance and Non-Interference in TypeScript (Artifact)}},
pages = {8:1--8:2},
journal = {Dagstuhl Artifacts Series},
ISSN = {2509-8195},
year = {2017},
volume = {3},
number = {2},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
address = {Dagstuhl, Germany},
URL = {http://drops.dagstuhl.de/opus/volltexte/2017/7289},
URN = {urn:nbn:de:0030-drops-72899},
doi = {10.4230/DARTS.3.2.8},
annote = {Keywords: gradual typing, TypeScript, JavaScript, proxies}
}