Filters








2,068 Hits in 1.3 sec

Concrete Types for TypeScript

Gregor Richards, Francesco Zappa Nardelli, Jan Vitek, Marc Herbstritt
2015 European Conference on Object-Oriented Programming  
We present an alternative design for TypeScript that supports the same degree of dynamism but that also allows types to be strengthened to provide correctness guarantees.  ...  TypeScript extends JavaScript with optional type annotations that are, by design, unsound and, that the TypeScript compiler discards as it emits code.  ...  The authors are grateful to the following individuals and organizations: Adam Domurad for the V8 implementation, the ECOOP PC for accepting our paper, the ECOOP AEC for reviewing our artifact, Andreas  ... 
doi:10.4230/lipics.ecoop.2015.76 dblp:conf/ecoop/RichardsNV15 fatcat:f2yfwm5fcnhmxdqrumt5jxp4gi

Concrete Types for TypeScript

Gregor Richards, Francesco Zappa Nardelli, Jan Vitek
unpublished
We present an alternative design for TypeScript, one where it is possible to support the same degree of dynamism, but where types can be strengthened to provide hard guarantees.  ...  TypeScript extends JavaScript with optional type annotations that are, by design, unsound and, that the TypeScript compiler discards as it emits code.  ...  The authors are grateful to the following individuals and organizations: Adam Domurad for the V8 implementation, the ECOOP PC for accepting our paper, the ECOOP AEC for reviewing our artifact, Andreas  ... 
fatcat:rttp5s7cz5fgfay4ynqu3btrbq

Safe & Efficient Gradual Typing for TypeScript

Aseem Rastogi, Nikhil Swamy, Cédric Fournet, Gavin Bierman, Panagiotis Vekris
2015 SIGPLAN notices  
Acknowledgments Our thanks to Martín Abadi, Mads Torgersen and the TypeScript team for several useful discussions; to the anonymous reviewers of the paper and artifact for their valuable feedback; and  ...  to Matthias Felleisen, Shriram Krishnamurthi, and Sam Tobin-Hochstadt for suggesting improvements to our discussion of related work.  ...  For instance, we give below the concrete syntax for the function toOrigin with erased types presented in §2.4.  ... 
doi:10.1145/2775051.2676971 fatcat:osdqmehnrza2lldysmomf3n5ui

Safe & Efficient Gradual Typing for TypeScript

Aseem Rastogi, Nikhil Swamy, Cédric Fournet, Gavin Bierman, Panagiotis Vekris
2015 Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '15  
Acknowledgments Our thanks to Martín Abadi, Mads Torgersen and the TypeScript team for several useful discussions; to the anonymous reviewers of the paper and artifact for their valuable feedback; and  ...  to Matthias Felleisen, Shriram Krishnamurthi, and Sam Tobin-Hochstadt for suggesting improvements to our discussion of related work.  ...  For instance, we give below the concrete syntax for the function toOrigin with erased types presented in §2.4.  ... 
doi:10.1145/2676726.2676971 dblp:conf/popl/RastogiSFBV15 fatcat:memljtt7fvd5lkn4sqic7p7nzy

Type test scripts for TypeScript testing

Erik Krogh Kristensen, Anders Møller
2017 Proceedings of the ACM on Programming Languages  
TypeScript applications often use untyped JavaScript libraries. To support static type checking of such applications, the typed APIs of the libraries are expressed as separate declaration files.  ...  This paper shows how feedback-directed random testing, which is an automated testing technique that has mostly been used for testing Java libraries, can be adapted to effectively detect such type mismatches  ...  In the declared type of reflect (see Figure 2b ), the error type for the input function is the generic type E, while the error type for the output function is the concrete type Error.  ... 
doi:10.1145/3133914 dblp:journals/pacmpl/KristensenM17 fatcat:syr5w6o65vevnd2ecdfwx7xwyy

Generating Interactive WebSocket Applications in TypeScript

Anson Miu, Francisco Ferreira, Nobuko Yoshida, Fangyi Zhou
2020 Electronic Proceedings in Theoretical Computer Science  
We encode the local protocol into TypeScript types, catering for server-side and client-side targets separately.  ...  Multiparty session types (MPST) provide a framework for verifying conformance of implementations to their prescribed communication protocol.  ...  Acknowledgements We thank the anonymous reviewers for their feedback.  ... 
doi:10.4204/eptcs.314.2 fatcat:smf5t53w3belflzcdyczcpjcbm

Checking correctness of TypeScript interfaces for JavaScript libraries

Asger Feldthaus, Anders Møller
2014 SIGPLAN notices  
The TypeScript programming language adds optional types to JavaScript, with support for interaction with existing JavaScript libraries via interface declarations.  ...  Such declarations have been written for hundreds of libraries, but they can be difficult to write and often contain errors, which may affect the type checking and misguide code completion for the application  ...  Acknowledgments This work was supported by Google and the Danish Research Council for Technology and Production.  ... 
doi:10.1145/2714064.2660215 fatcat:tge6qx4zhzgedl32jmxer5w2iu

Checking correctness of TypeScript interfaces for JavaScript libraries

Asger Feldthaus, Anders Møller
2014 Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications - OOPSLA '14  
The TypeScript programming language adds optional types to JavaScript, with support for interaction with existing JavaScript libraries via interface declarations.  ...  Such declarations have been written for hundreds of libraries, but they can be difficult to write and often contain errors, which may affect the type checking and misguide code completion for the application  ...  Acknowledgments This work was supported by Google and the Danish Research Council for Technology and Production.  ... 
doi:10.1145/2660193.2660215 dblp:conf/oopsla/FeldthausM14 fatcat:c3iggfxio5g2ppso5rh4zhttza

Inference and Evolution of TypeScript Declaration Files [chapter]

Erik Krogh Kristensen, Anders Møller
2017 Lecture Notes in Computer Science  
TypeScript is a typed extension of JavaScript that has become widely used.  ...  More than 2 000 JavaScript libraries now have publicly available TypeScript declaration files, which allows the libraries to be used when programming TypeScript applications.  ...  Most notably, TypeScript provides optional types, which not only allows many type errors to be detected statically, but also enables powerful IDE support for code navigation, auto-completion, and refactoring  ... 
doi:10.1007/978-3-662-54494-5_6 fatcat:cq2ug3z7ibfkdktnbddj5yxu2e

JAZ volume 42 issue 2 Cover and Front matter

1987 Journal of the Australian Mathematical Society  
PREP A RA TION OF TYPESCRIPTS 1. The author should keep a complete copy of the submitted article; the Society will not accept responsibility for any loss.  ...  Two alternative styles for references and quotations are described below. Authors are requested to use one and only one style consistently throughout their typescript.  ... 
doi:10.1017/s1446788700028147 fatcat:2ybvtijpzve5rcrctviiawvvku

KafKa: Gradual Typing for Objects

Benjamin Chung, Paley Li, Francesco Zappa Nardelli, Jan Vitek, Michael Wagner
2018 European Conference on Object-Oriented Programming  
In this paper, we show that four of the most common gradual type systems provide distinct guarantees, and we give a formal framework for comparing gradual type systems for objectoriented languages.  ...  First, we show that the different gradual type systems are practically distinguishable via a three-part litmus test. We present a formal framework for defining and comparing gradual type systems.  ...  The optional approach is the default for Dart, Hack, and TypeScript.  ... 
doi:10.4230/lipics.ecoop.2018.12 dblp:conf/ecoop/ChungLNV18 fatcat:fafnygxomvgdzhi6d3lbebyn5m

SafeStrings: Representing Strings as Structured Data [article]

David Kelly, Mark Marron, David Clark, Earl T. Barr
2019 arXiv   pre-print
They are lightweight, language-agnostic and deployable, as we demonstrate by implementing SafeStrings in TypeScript.  ...  SafeStrings reduce the surface area for cross-site scripting, argument selection defects, and they can facilitate fuzzing and analysis.  ...  In TypeScript, for example, one writes type Name = string.  ... 
arXiv:1904.11254v1 fatcat:otfwf3k3vrepdmlunsmfjvls3m

OptTyper: Probabilistic Type Inference by Optimising Logical and Natural Constraints [article]

Irene Vlassi Pandi, Earl T. Barr, Andrew D. Gordon, Charles Sutton
2021 arXiv   pre-print
We build a tool called OptTyper to predict missing types for TypeScript files.  ...  naming conventions for types from a large codebase.  ...  of T = 3 concrete types (number, string, and any) for one of our V = 3 identifiers.  ... 
arXiv:2004.00348v3 fatcat:jw3bkccforgaloehepwz6jfya4

To Type or Not to Type: Quantifying Detectable Bugs in JavaScript

Zheng Gao, Christian Bird, Earl T. Barr
2017 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE)  
JavaScript is also a dynamically typed language for which static type systems, notably Facebook's Flow and Microsoft's TypeScript, have been written.  ...  Despite this uneven playing field, our central finding is that both static type systems find an important percentage of public bugs: both Flow 0.30 and TypeScript 2.0 successfully detect 15%!  ...  ACKNOWLEDGEMENT The authors thank the TypeScript team and our colleagues David Clark and Ilya Sergey for their feedback on this work. 9 http://roy.brianmckenna.org/  ... 
doi:10.1109/icse.2017.75 dblp:conf/icse/GaoBB17 fatcat:roolfbsfujguxacmtrrno4pwfy

Generation of TypeScript Declaration Files from JavaScript Code [article]

Fernando Cristiani, Peter Thiemann
2021 arXiv   pre-print
TypeScript applications integrate JavaScript libraries via typed descriptions of their APIs called declaration files. DefinitelyTyped is the standard public repository for these files.  ...  Developers are starting to write large and complex applications in TypeScript, a typed dialect of JavaScript.  ...  Literal types vs string. Many JavaScript libraries use literal strings to select options and configurations. To be concrete, 1925 DT packages rely on literal types (see Table 1 ).  ... 
arXiv:2108.08027v1 fatcat:2bgyi74uybh4djgg2efft2djxi
« Previous Showing results 1 — 15 out of 2,068 results