Towards type inference for JavaScript

Christopher Anderson, Paola Giannini, Sophia Drossopoulou

Risultato della ricerca: Contributo su rivistaArticolo da conferenzapeer review

Abstract

Object-oriented scripting languages like JavaScript and Python are popular partly because of their dynamic features. These include the runtime modification of objects and classes through addition of fields or updating of methods. These features make static typing difficult and so usually dynamic typing is used. Consequently, errors such as access to non-existent members are not detected until runtime. We first develop a formalism for an object based language, JS0, with features from JavaScript, including dynamic addition of fields and updating of methods. We give an operational semantics and static type system for JSo using structural types. Our types allow objects to evolve in a controlled manner by classifying members as definite or potential. We define a type inference algorithm for JS0 that is sound with respect to the type system. If the type inference algorithm succeeds, then the program is typeable. Therefore, programmers can benefit from the safety offered by the type system, without the need to write explicitly types in their programs.

Lingua originaleInglese
pagine (da-a)428-452
Numero di pagine25
RivistaLecture Notes in Computer Science
Volume3586
DOI
Stato di pubblicazionePubblicato - 2005
Evento19th European Conference on Object-Oriented Programming, ECOOP 2005 - Glasgow, United Kingdom
Durata: 25 lug 200529 lug 2005

Fingerprint

Entra nei temi di ricerca di 'Towards type inference for JavaScript'. Insieme formano una fingerprint unica.

Cita questo