The official documentation for metatables in Lua shows the following code:
Set = {}
function Set.new (t)
local set = {}
for _, l in ipairs(t) do set[l] = true end
return set
end
function Set.union (a,b)
local res = Set.new{}
for k in pairs(a) do res[k] = true end
for k in pairs(b) do res[k] = true end
return res
end
The syntax Set.new{} is unclear to me. new is a function and typically functions are called with parentheses (). What is this syntax and where is it documented in lua.org?