It would work just like Lua then and require manually hoisting one of the declarations:

  local b
  local function a()
    return b()
  end
  b = function()
    return a()
  end
(Lua's named function statements are just syntatic sugar. For example `local function a()` is equivalent to `local a; a = function()`.)