Lua в плане дизайна диктует функциональность, а не политику. Это вам решать. Поэтому, если вы хотите обмениваться кодом между скриптами, это зависит от вашего кода и ваших потребностей.
При этом, если вы пишете код для интерпретатора Lua, предназначенный для использования людьми, которые не являются вами, общий способ сделать это - создать модуль Lua. Пользователи require
модуль, который заставляет систему найти и выполнить ваш скрипт Lua. Этот скрипт вернет таблицу, содержащую функции (или вложенные таблицы с функциями), которые будет использовать пользователь. При желании ваш модуль может также регистрировать эти функции глобально, хотя преобладающее влияние среди авторов библиотек Lua, похоже, против этого.