luaといえば、下の二つのスクリプトを順に実行すると、

--a.lua
local v = 1
local function f()
 print(v)
end
fv = f

--b.lua
fv()

結果
1

感じになるんだが、関数の実体もガベコレされてるのかな?
関数内で使ってるlocal変数もコピーかリファレンスを持つことになると?