The evolution of Lua

@article{Ierusalimschy2007TheEO,
  title={The evolution of Lua},
  author={Roberto Ierusalimschy and Luiz Henrique de Figueiredo and Waldemar Celes Filho},
  journal={Proceedings of the third ACM SIGPLAN conference on History of programming languages},
  year={2007}
}
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, full lexical scoping, proper tail calls, and coroutines. 
Moonlight Chords
Concurrency is a fundamental trend in modern programming. Languages should provide mechanisms allowing programmers to write correct and predictable programs that can take advantage of theExpand
A look at the design of Lua
Simplicity, small size, portability, and embeddability set Lua apart from other scripting languages.
Contrasting compile-time meta-programming in metalua and converge.
TLDR
This paper describes and compares two modern, dynamically typed languages Converge and Metalua, which both have macro-like systems, and shows how, in different ways, they build upon traditional macro systems to explore new ways of constructing programs. Expand
Thorn: robust, concurrent, extensible scripting on the JVM
TLDR
The principal contributions are a careful selection of features that support the evolution of scripts into industrial grade programs - e.g., an expressive module system, an optional type annotation facility for declarations, and support for concurrency based on message passing between lightweight, isolated processes. Expand
Thorn: robust, concurrent, extensible scripting on the JVM
TLDR
The principal contributions are a careful selection of features that support the evolution of scripts into industrial grade programs - e.g., an expressive module system, an optional type annotation facility for declarations, and support for concurrency based on message passing between lightweight, isolated processes. Expand
Concurrency Oriented Programming in Lua
TLDR
A system that provides Erlang-style concurrency has been designed and implemented for the Lua programming language and will help further change the view on the way to achieve concurrency. Expand
OCamlJIT 2.0 - Faster Objective Caml
TLDR
The current state of an ongoing research project to improve the performance of the OCaml byte-code interpreter using Just-In-Time native code generation is presented, its design and implementation is described, and performance measures are given. Expand
Reflection-Based Heterogeneous Migration of Computations
TLDR
This work extends the Lua programming language with a reflective API that provides the programmer fine control over the capture and restoration mechanisms, and achieves flexibility through computational reflection. Expand
EMBEDDING CONCURRENCY: A LUA CASE STUDY
TLDR
This paper takes the Lua programming language and explains the mechanisms it offers to support embedding concurrency, and shows how these mechanisms can be useful for creating lightweight concurrency models. Expand
Pallene: A companion language for Lua
TLDR
The results corroborate the hypothesis that Pallene has the potential to be a low-level counterpart to Lua, and the performance of Lua extension modules written in Pallene can be better than that of equivalent moduleswritten in C and it is competitive with the performance from a JIT compiler, despite the vastly simpler implementation. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 76 REFERENCES
The Evolution of an Extension Language: A History of Lua
TLDR
The trajectory of Lua is described, from its creation as an in-house language for two specific projects, until Lua 4.0, released in November 2000, which discusses the evolution of some of its concepts and the main landmarks in its evolution. Expand
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 .Expand
Revised5 Report on the Algorithmic Language Scheme
The Implementation of Lua 5.0
We discuss the main novelties of the implementation of Lua 5.0: its register- based virtual machine, the new algorithm for optimizing tables used as arrays, the implementation of closures, and theExpand
Coroutines in Lua
TLDR
This paper presents and discusses the corou- tine facilities provided by the language Lua, a full implementation of the concept of asymmetric coroutines, and shows that this powerful construct supports easy and succint implementations of useful control behaviors. Expand
Lua 5.1 Reference Manual
Lua is an extension programming language designed to support general procedural programming with data description facilities. It also offers good support for object-oriented programming, functionalExpand
Domain-specific languages: an annotated bibliography
TLDR
The literature available on the topic of domain-specific languages as used for the construction and maintenance of software systems is surveyed, and a selection of 75 key publications in the area is listed. Expand
Lua-An Extensible Extension Language
TLDR
Lua presents a mechanism offallbacks that allows programmers to extend the semantics of the language in some unconventional ways, as a noteworthy example, fallbacks allow the user to add different kinds of inheritance to the language. Expand
Revised5 Report on the Algorithmic Language Scheme
The report gives a defining description of the programming language Scheme. Scheme is a statically scoped and properly tail-recursive dialect of the Lisp programming language invented by Guy LewisExpand
Closure Generation Based on Viewing Lambda as Epsilon Plus Compile
This paper describes a way of expressing @l-expressions (which produce closures) in terms of @e-expressions (@l-expressions containing only local and global variable references) and calls to anExpand
...
1
2
3
4
5
...