The () after the function name was a typo here, not in the code.
I do not re-initialise the namespace, only the namespace["something"].
There is an issue with
file1:
local n, ns = ...
ns["a"] = { };
file2:
local n, ns = ...
ns["a"]["b"] = some_local_function;
file3:
local n, ns = ...
ns["a"]["b"](params); -- error, it is nil
|