Если вы говорите о IronPython и C #, то эти два языка могут беспрепятственно взаимодействовать через CLI (то есть, Common Language Infrastructure ). Это означает, что методы в коде C # доступны напрямую из IronPython и наоборот.
Для других языков, которые не компилируются в байт-код .NET напрямую (например, Lua), вам придется использовать P / Invoke для вызова C API (или использовать тот, который уже написан кем-то другим, например ) LuaInterface для Lua).
Mono в основном то же самое, вы просто должны быть осторожны с вашими объявлениями P / Invoke (то есть вы не можете ссылаться на "lua51 .dll ", потому что в Linux есть .so файлы, а не .dll )