Thanks for all the responses, I am working my way through the various links to see what works for me. They are all interesting. But as a side issue I ended up with the following as the least technical solution
local blob_data = {}
blob_data['game.lua'] = [[.. file as a string ..]]
blob_data['show.lua'] = [[.. file as a string ..]]
function require(name)
local fullname = name .. '.lua'
assert(blob_data[fullname], 'File not found: ' .. fullname)
local code = load(blob_data[fullname])
return code()
end
require('game')
As the string that c main calls. Works a treat providing all you want is a pure lua script but is probably insufficient for what I really want. Fun none the less