A small yet extraordinarily powerful programming language, Lua achieved its popularity early on as a video game scripting language and has since evolved into a general purpose programming language that is compact enough to fit on a variety of host platforms. This book provides programmers, game developers, and Web site developers with an in-depth look at the various aspects of programming in Lua. Complete code samples with practical applications and robust error handling offers beginners helpful learning tools. Diagrams provide a visual glimpse behind the scenes of important Lua features such as stacks, hash tables, garbage collection, lexical scope, and function closures. Features discussions on managing memory, garbage collection, using libraries, strings, tables, extending Lua, event handling, databases, and Web and game programming.