Revision as of 03:03, 18 September 2003 editMrwojo (talk | contribs)Autopatrolled, Extended confirmed users, Pending changes reviewers, Rollbackers15,713 edits added wikilinks and fixed some others; some formatting← Previous edit | Revision as of 15:37, 14 October 2003 edit undo217.204.66.43 (talk)No edit summaryNext edit → | ||
Line 3: | Line 3: | ||
The '''Lua''' (pronouced LOO-ah or /lua/ in ]) ] is a lightweight ]/] language, designed as ] with extensible semantics as a primary goal. | The '''Lua''' (pronouced LOO-ah or /lua/ in ]) ] is a lightweight ]/] language, designed as ] with extensible semantics as a primary goal. | ||
Lua was created by the Computer Graphics Technology Group of the ] of ] in ] in ]. It is released as ] under ]-like license terms, which are non-]. | Lua was created by the Computer Graphics Technology Group of the ] of ] in ] in ]. It is released as ], versions before 5.0 were released under ]-like license terms, which are non-]. From version 5.0 Lua uses the . | ||
Lua has been used in many commercial applications (e.g., in ]' '']'' ] and robot control software). Its closest relative in the family of programming languages is perhaps the ], although it could also be compared to ] in its emphasis on ease of use for non-programmers. | Lua has been used in many commercial applications (e.g., in ]' '']'' ] and robot control software). Its closest relative in the family of programming languages is perhaps the ], although it could also be compared to ] in its emphasis on ease of use for non-programmers. | ||
Lua has a compact design, and this is evident from the fact that it supports only one ], the table. Tables can be used as ]s, ]s, ]s, ]s or ]s, and can also simulate ]s. There is a similar level of simplicity in Lua's atomic datatypes -- all arithmetic is done in double-precision ], for example. The language's semantics can be extended by redefining certain built in operations on tables, and Lua also supports ] and ]. It is possible to write ] programs in Lua by combining all these features. | Lua has a compact design, and this is evident from the fact that it supports only one ], the table. Tables can be used as ]s, ]s, ]s, ]s or ]s, and can also simulate ]s. There is a similar level of simplicity in Lua's atomic datatypes -- all arithmetic is done in double-precision ], for example (however this can be changed to use single precision ] or ]s). The language's semantics can be extended by redefining certain built in operations on tables, and Lua also supports ] and ]. It is possible to write ] programs in Lua by combining all these features. | ||
Lua programs are translated into ] and interpreted. Although Lua is useable as a stand-alone language, it is primarily designed to be used as an ] or ] within programs written in ]. In this respect, it is similar to ]. The Lua interpreter can be accessed through a small C ], which includes both the interpreter and an ] for accessing its runtime state from a host C program. The API allows different parts of a program to be written in C and Lua and gives two-way access to variables and functions across the languages (i.e., a function in Lua can call a function in C, and vice versa). | Lua programs are translated into ] and interpreted. Although Lua is useable as a stand-alone language, it is primarily designed to be used as an ] or ] within programs written in ]. In this respect, it is similar to ]. The Lua interpreter can be accessed through a small C ], which includes both the interpreter and an ] for accessing its runtime state from a host C program. The API allows different parts of a program to be written in C and Lua and gives two-way access to variables and functions across the languages (i.e., a function in Lua can call a function in C, and vice versa). |
Revision as of 15:37, 14 October 2003
The Lua (pronouced LOO-ah or /lua/ in SAMPA) programming language is a lightweight imperative/procedural language, designed as glue language with extensible semantics as a primary goal.
Lua was created by the Computer Graphics Technology Group of the Pontifical Catholic University of Rio de Janeiro in Brazil in 1993. It is released as free software, versions before 5.0 were released under BSD-like license terms, which are non-copyleft. From version 5.0 Lua uses the MIT License.
Lua has been used in many commercial applications (e.g., in LucasArts' Escape from Monkey Island adventure game and robot control software). Its closest relative in the family of programming languages is perhaps the Icon programming language, although it could also be compared to Python in its emphasis on ease of use for non-programmers.
Lua has a compact design, and this is evident from the fact that it supports only one data structure, the table. Tables can be used as arrays, sets, hashtables, lists or records, and can also simulate namespaces. There is a similar level of simplicity in Lua's atomic datatypes -- all arithmetic is done in double-precision floating point, for example (however this can be changed to use single precision floating point or integers). The language's semantics can be extended by redefining certain built in operations on tables, and Lua also supports higher-order functions and garbage collection. It is possible to write object-oriented programs in Lua by combining all these features.
Lua programs are translated into bytecode and interpreted. Although Lua is useable as a stand-alone language, it is primarily designed to be used as an extension language or scripting language within programs written in C. In this respect, it is similar to Tcl. The Lua interpreter can be accessed through a small C library, which includes both the interpreter and an API for accessing its runtime state from a host C program. The API allows different parts of a program to be written in C and Lua and gives two-way access to variables and functions across the languages (i.e., a function in Lua can call a function in C, and vice versa).
External links
- Lua.org
- Lua-users wiki, based on UseMod code.
In Roman mythology, Lua was the goddess the soldiers sacrificed captured weapons to. Lua also means 'moon' in Portuguese, which is what the programming language is named after.