Lua is a versatile and fast, yet lightweight and embeddable scripting language. It combines basic procedural syntax with complex data types, associative dictionaries, and extensible semantics. It is dynamically typed, uses a JIT bytecode and register-based VM with implicit memory management. It's widely used for scripting within applications and games, or as RAD toolkit.
Homepage
Download
Recent Releases
5.4.723 Apr 2025 12:43
major feature:
new generational mode for garbage collection
to-be-closed variables
const variables
userdata can have multiple user values
new implementation for math.random
warning system
debug information about function arguments and returns
new semantics for the integer 'for' loop
optional 'init' argument to 'string.gmatch'
new functions 'lua_resetthread' and 'coroutine.close'
string-to-number coercions moved to the string library
allocation function allowed to fail when shrinking a memory block
new format ' p' in 'string.format'
utf8 library accepts codepoints up to 2 31
5.3.012 Jan 2015 23:05
major feature:
Main changes include integers being 64-bit by default, official support for
32-bit numbers, bitwise operators, basic UTF-8 support, functions for
packing and unpacking values.
The language now allows userdata to have any Lua value as uservalue,
integer division, more flexible rules for some metamethods.
Library changes: ipairs and the table library respect metamethods,
strip option in string.dump, table library respects metamethods,
new function table.move, new function string.pack, new function
string.unpack, new function string.packsize.
|