Lucretia — intersection type polymorphism for scripting languages
نویسندگان
چکیده
منابع مشابه
Lucretia - intersection type polymorphism for scripting languages
Scripting code may present maintenance problems in the long run. There is, then, the call for methodologies that make it possible to control the properties of programs written in dynamic languages in an automatic fashion. We introduce Lucretia, a core language with an introspection primitive. Lucretia is equipped with a (retrofitted) static type system based on local updates of types that descr...
متن کاملType Inference for Scripting Languages
JavaScript is a powerful imperative object based language made popular by its use in web pages. It supports flexible program development by allowing dynamic addition of members to objects. Code is dynamically typed: a runtime access to a non-existing member causes an error. In this paper we first develop a formalism of JavaScript, JS0, and a static type system that will detect such type errors....
متن کاملLucretia - a type system for objects in languages with reflection
Object-oriented scripting languages such as JavaScript or Python gain in popularity due to their flexibility. Still, the growing code bases written in the languages call for methods that make possible to automatically control the properties of the programs that ensure their stability in the running time. We propose a type system, called Lucretia, that makes possible to control the object struct...
متن کاملType Systems of Scripting Languages
Type systems play an important role in the design of programming languages, they prevent programs from having non-correct behavior. Typically, type systems are expressed in two ways, type-checking and type inference. The type information presented on local variables and method arguments makes the difference in choosing one technique rather than the other. Type checking is a derivation type infe...
متن کاملType Inference for Scripting languages with Implicit Extension
This paper presents a constraint-based type inference algorithm fora subset of the JavaScript language. The goal is to prevent accessingundefined members of objects. We define a type system that allowsexplicit extension of objects through add operation and implicitextension through method calls. We prove that a program is typableif and only if we can infer its types. We also...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Electronic Proceedings in Theoretical Computer Science
سال: 2015
ISSN: 2075-2180
DOI: 10.4204/eptcs.177.6