Lua Engine
CategoryProgramming Language
Lua is a lightweight, interpreted, multi-paradigm programming language designed primarily for embedded use in application containers, to meet the increasing demand for customization. It offers good support for object-oriented, functional and data-driven programming.
Embedded Scripting Runtime
Web Server Extension Mechanism
Lua is dynamically typed, and combines simple procedural syntax with powerful data description constructs based on associative arrays — those that can have any Lua values as indices (except nil and NaN), and extensible semantics.
The language has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting and rapid prototyping.
Being an extension language, Lua has no notion of a main program: it works embedded in a host client, called the embedding program. The latter can invoke functions to execute Lua code, access Lua variables, and register C functions to be called by Lua code.
Lua is multi-paradigm: it strives to provide simple, flexible meta-features that can be extended as needed, rather than supply a feature-set specific to just one programming environment. As a result, the base language is light, and easily adaptable to a broad range of applications. The world's most commonly used web servers, Apache and Nginx embed Lua interpreter into their distributions to allow custom extensions.