Roberto Ierusalimschy
PUC-Rio, Rio de Janeiro, Brazil
Lua is a scripting language used in many industrial applica- tions, with an emphasis on embedded systems and games. Two key points in the design of the language that led to its widely adoption are flexi- bility and small size. To achieve these two conflicting goals, the design emphasizes the use of few but powerful mechanisms, such as first-class functions, associative arrays, coroutines, and reflexive capabilities. As a consequence of this design, although Lua is primarily a procedural lan- guage, it is frequently used in several different programming paradigms, such as functional, object-oriented, goal-oriented, and concurrent pro- gramming, and also for data description.














