A look at the design of Lua

  title={A look at the design of Lua},
  author={Roberto Ierusalimschy and Luiz Henrique de Figueiredo and Waldemar Celes Filho},
  journal={Communications of the ACM},
  pages={114 - 123}
Simplicity, small size, portability, and embeddability set Lua apart from other scripting languages. 

Figures from this paper

A Resource Efficient Implementation of the RESTCONF Protocol for OpenWrt Systems

This paper describes the efforts to implement the RESTCONF configuration management protocol standardized by the IETF on OpenWrt systems that have limited CPU and memory resources and details the design choices that make the implementation resource efficient.

User-Defined Functions for HDF5

An infrastructure for the HDF5 file format that enables dataset values to be populated on the fly: task-related scripts can be attached intoHDF5 files and only execute when the dataset is read by an application.

Alto Snapshot/Restore: Enabling Stateful, Long-Lived Serverless Computation

This paper re-introduce Alto, which provides a serverless architecture that makes developing existing applications easier and also enables new cloud application architectures, and explains why providing stateful, long-lived serverless computation requires fast snapshot and restore of computation.

A Complete Bibliography of Publications in Communications of the ACM : 2020–2029

A* [11]. Above [53]. abuse [120]. accelerators [157]. access [120]. accessibility [133]. achieve [21]. ACM [103, 74, 96, 99]. Across [45, 84]. adapting [96]. Adding [64]. address [151]. adoption



Passing a language through the eye of a needle

How the embeddability of Lua impacted the design of the Lua operating system.

The evolution of Lua

We report on the birth and evolution of Lua and discuss how it moved from a simple configuration language to a versatile, widely used language that supports extensible semantics, anonymous functions,

Lua—An Extensible Extension Language

This paper describes Lua, a language for extending applications. Lua combines procedural features with powerful data description facilities, by using a simple, yet powerful, mechanism of tables .

Programming with Multiple Paradigms in Lua

What mechanisms Lua features need to be used to achieve its flexibility and how programmers use them for different paradigms are discussed.

Ephemerons: a new finalization mechanism

This paper defines "almost collectable" in terms of a new class of objects, called ephemerons, which are similar to weak pairs, but an object in an ephemeron's key field may be classed as "almostCollectable" even if it is reachable from the epehemer on's value fields.

The spoofax language workbench: rules for declarative specification of languages and IDEs

The architecture of Spoofax is described and idioms for high-level specifications of language semantics using rewrite rules are introduced, showing how analyses can be reused for transformations, code generation, and editor services such as error marking, reference resolving, and content completion.

Revisiting coroutines

This article introduces the concept of full asymmetric coroutines and provides a precise definition for it through an operational semantics, and demonstrates that full cor outines have an expressive power equivalent to one-shot continuations and one- shot delimited continuations.

Gradually Learning Programming Supported by a Growable Programming Language

An approach to gradually teach programming supported by a programming language that grows-together with its implementation-along with the number of concepts presented to the students is proposed.

International Organization for Standardization

This chapter provides an overview of the International Organization for Standardization (ISO). Operating since 1947, the International Organization for Standardization (ISO) is a nongovernmental