Javascript must be enabled to continue!
A formalization of typed lua
View through CrossRef
Programmers often migrate from a dynamically typed to a statically typed language when their simple scripts evolve into complex programs. Optional type systems are one way of having both static and dynamic typing in the same language, while keeping its dynamically typed semantics. This makes evolving a program from dynamic to static typing a matter of describing the implied types that it is using and adding annotations to make those types explicit. Designing an optional type system for an existing dynamically typed language is challenging, as its types should feel natural to programmers that are already familiar with this language. In this work, we give a formal description of Typed Lua, an optional type system for Lua, with a focus on two of its novel type system features: incremental evolution of imperative record and object types that is both lightweight and type-safe, and projection types, a combination of flow typing, functions that return multiple values, and multiple assignment. While our type system is tailored to the features and idioms of Lua, its features can be adapted to other imperative scripting languages.
Association for Computing Machinery (ACM)
Title: A formalization of typed lua
Description:
Programmers often migrate from a dynamically typed to a statically typed language when their simple scripts evolve into complex programs.
Optional type systems are one way of having both static and dynamic typing in the same language, while keeping its dynamically typed semantics.
This makes evolving a program from dynamic to static typing a matter of describing the implied types that it is using and adding annotations to make those types explicit.
Designing an optional type system for an existing dynamically typed language is challenging, as its types should feel natural to programmers that are already familiar with this language.
In this work, we give a formal description of Typed Lua, an optional type system for Lua, with a focus on two of its novel type system features: incremental evolution of imperative record and object types that is both lightweight and type-safe, and projection types, a combination of flow typing, functions that return multiple values, and multiple assignment.
While our type system is tailored to the features and idioms of Lua, its features can be adapted to other imperative scripting languages.
Related Results
Determinants of Business Formalization in Singida Municipal Council
Determinants of Business Formalization in Singida Municipal Council
While Small and Medium Enterprises (SMEs) are recognized to be the engine of growth of the economy, most businesses continue to operate informally. There are competing arguments on...
Differences on Geochemical Characteristics and Their Implicating Significances of Nitrogen in Coal-Derived Gas and Oil-typed Gas in China
Differences on Geochemical Characteristics and Their Implicating Significances of Nitrogen in Coal-Derived Gas and Oil-typed Gas in China
Natural gases in China are mainly coal-derived gas, with assistance from oil-typed gas. At present, many genetic identification methods, from hydrocarbon composition and isotope to...
Assessment of the sustainability of the rice-maize cropping system in the Red River Delta of Vietnam and developing reduced tillage practices in rice-maize system in the area
Assessment of the sustainability of the rice-maize cropping system in the Red River Delta of Vietnam and developing reduced tillage practices in rice-maize system in the area
Rice and maize are global staple food and play an important role in world’s food security strategy. Vietnam is one of rice leading export countries but annually it has to import a ...
O Papel do Instagram na Decisão de Compras de Viagens de Lua de Mel: Um Estudo Sob a Perspectiva das Noivas.
O Papel do Instagram na Decisão de Compras de Viagens de Lua de Mel: Um Estudo Sob a Perspectiva das Noivas.
É cada vez mais perceptível, o poder de influência que as redes sociais têm sobre o comportamento do consumidor. Nesse sentido, este estudo buscou compreender como as postagens no ...
DIALEKTIKA SPASIAL DAN PRODUKSI BEAUTIFIKASI RUANG KOTA TERHADAP PELAKU AKTIVITAS EKONOMI INFORMAL
DIALEKTIKA SPASIAL DAN PRODUKSI BEAUTIFIKASI RUANG KOTA TERHADAP PELAKU AKTIVITAS EKONOMI INFORMAL
<p>The narrative of verticality or formalization that is applied exclusively causes shifts that are not optimal socially, culturally, economically, and politically towards th...
L’écriture abrégée dans la prise de notes d’étudiant·e·s postsecondaires au début du 21<sup>e</sup> siècle : comparaison d’échantillons de notes manuscrites et dactylographiées
L’écriture abrégée dans la prise de notes d’étudiant·e·s postsecondaires au début du 21<sup>e</sup> siècle : comparaison d’échantillons de notes manuscrites et dactylographiées
Introduction: In an academic context, abbreviations allow students to compensate for the difference between talking speed and writing speed (handwritten or typed) while taking note...
Formalisasi Beragama Penganut Marapu Melalui Pendidikan Formal Pada Masyarakat Kampung Tarung di Sumba Barat, NTT
Formalisasi Beragama Penganut Marapu Melalui Pendidikan Formal Pada Masyarakat Kampung Tarung di Sumba Barat, NTT
The classification between religion and believer by the apparatus of the Indonesia state and zendeling/missionaries creates persuasive discrimination to Marapu believer in Tarung V...
Legalizing illegalities? Land titling and land tenure security in informal settlements
Legalizing illegalities? Land titling and land tenure security in informal settlements
This study investigated how land rights formalization had affected land tenure security among landowners in two informal settlements of Lusaka and Chongwe districts, Zambia. It exp...

