Pretty confusing, I read this from Edition 1:
Technically speaking, what's a value in Lua is a closure, not the function. The function itself is just a prototype for closures.
and
Closure is a function plus all it needs to access non-local variables correctly
All it needs?, but what does it need to access non-local variables correctly? I can't really understand this at all. Are closures any different from functions ?