Show simple item record

dc.contributor.authorWilliams, Jack
dc.contributor.authorMorris, J. Garrett
dc.contributor.authorWadler, Philip
dc.contributor.authorZalewski, Jakub
dc.date.accessioned2018-11-13T18:47:06Z
dc.date.available2018-11-13T18:47:06Z
dc.date.issued2017
dc.identifier.citationWilliams, J., Morris, J. G., Wadler, P., & Zalewski, J. (2017). Mixed Messages: Measuring Conformance and Non-Interference in TypeScript. In LIPIcs-Leibniz International Proceedings in Informatics (Vol. 74). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.en_US
dc.identifier.urihttp://hdl.handle.net/1808/27314
dc.description.abstractTypeScript participates in the recent trend among programming languages to support gradual typing. The DefinitelyTyped Repository for TypeScript supplies type definitions for over 2000 popular JavaScript libraries. However, there is no guarantee that implementations conform to their corresponding declarations. We present a practical evaluation of gradual typing for TypeScript. We have developed a tool for use with TypeScript, based on the polymorphic blame calculus, for monitoring JavaScript libraries and TypeScript clients against the TypeScript definition. We apply our tool, TypeScript TPD, to those libraries in the DefinitelyTyped Repository which had adequate test code to use. Of the 122 libraries we checked, 62 had cases where either the library or its tests failed to conform to the declaration. Gradual typing should satisfy non-interference. Monitoring a program should never change its behaviour, except to raise a type error should a value not conform to its declared type. However, our experience also suggests serious technical concerns with the use of the JavaScript proxy mechanism for enforcing contracts. Of the 122 libraries we checked, 22 had cases where the library or its tests violated non-interference.en_US
dc.publisherSchloss Dagstuhlen_US
dc.rights© Jack Williams, J. Garrett Morris, Philip Wadler, and Jakub Zalewski; licensed under Creative Commons License CC-BYen_US
dc.rights.urihttps://creativecommons.org/licenses/by/3.0/en_US
dc.subjectGradual Typingen_US
dc.subjectTypeScripten_US
dc.subjectJavaScripten_US
dc.subjectProxiesen_US
dc.titleMixed Messages: Measuring Conformance and Non-Interference in TypeScripten_US
dc.typeArticleen_US
kusw.kuauthorMorris, J. Garrett
kusw.kudepartmentElectrical Engineering and Computer Scienceen_US
dc.identifier.doi10.4230/LIPIcs.ECOOP.2017.28en_US
kusw.oaversionScholarly/refereed, publisher versionen_US
kusw.oapolicyThis item meets KU Open Access policy criteria.en_US
dc.rights.accessrightsopenAccessen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record

© Jack Williams, J. Garrett Morris, Philip Wadler, and Jakub Zalewski; licensed under Creative Commons License CC-BY
Except where otherwise noted, this item's license is described as: © Jack Williams, J. Garrett Morris, Philip Wadler, and Jakub Zalewski; licensed under Creative Commons License CC-BY