To clarify, I'm proposing that bin2c be run on the Lua source file, not
the output of luac. I understand why the output of luac isn't portable.
In general I'm rather in favor of using Lua rather than C whenever possible, but this case seems like an exception:
- First, the module handling code is not that complex, so the C development penalty remains quite acceptable.
- Lua sources are commonly integrated in many projects, often with their own, sometimes byzantine, building systems, so having a dead simple building structure is a must. If you pass some Lua code into bin2c, you'll have a messy rebuild process whenever you want to touch the module code. Remember that one of Lua's strengths is its relative ease of hacking to suit a pre-existing project.
- Adoption of a language largely depends on the confidence it inspires. Anything but an obviously rock-solid bootstrapping mechanism would certainly damage that confidence.