This manual is the official definition of Lua 5.1. It covers Lua's syntax and semantics, the full API with C, and the standard libraries. 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, functional programming, and data-driven programming. Lua is intended to be used as a powerful, light-weight scripting language for any program that needs one. Lua is implemented as a library, and is highly portable, being written in clean C (that is, in the common subset of ANSI C and C++). This printed version contains the full text of the eletronic version, available at http://www.lua.org/manual/.
Roberto Ierusalimschy is an Associate Professor of Computer Science at PUC-Rio (the Pontifical Catholic University of Rio de Janeiro), where he works with programming-language design and implementation. He is the leading architect of the Lua programming language and the author of "Programming in Lua" (now in its second edition and translated to Chinese, Korean, German, and Japanese).
Roberto has a M.Sc. Degree (1986) and a D.Sc. Degree (1990) in Computer Science, both from PUC-Rio. He was a visiting researcher at the University of Waterloo, (Canada, 1991), ICSI (CA, USA, 1994), GMD (Germany, 1997), and at UIUC (IL, USA, 2001/2002). As a professor at PUC-Rio, Roberto was the advisor of several students that later became influential members of the Lua community. Lately he has been developing LPEG, a novel pattern-matching package for Lua.
