I would be very interested in a single-chip Lua implementation like this:
https://micropython.org/ - for Python
But it seems that Lua's relative extravagance with RAM is still the major
roadblock (it has always been possible to build Lua for integer numbers, so
lack of an FPU has never really been a showstopper).
512KB RAM is plenty to
run Lua, but only with very simple scripts.
Bogdan's eLua is fun to play
with and a brave effort, but in my experience it is not really practical for
real-world applications without at least a two-chip platform (processor and
One of the great advantages of Lua however is that it is relatively
easy to compile it for bare-metal deployment (i.e. without an operating
What is needed is for the core team to have another look at the memory
allocation strategy so it is easier to build Lua to allocate volatile data
such as numbers and tables in RAM but non-volatile (or less volatile) data
like strings and function bytecodes in EPROM.
On these microcontroller chips
it is usually possible to write to EPROM, but you want to minimise that
because it is relatively slow and the memory has limited write endurance.
The big development on the horizon is FRAM which combines the non-volatility
of EPROM with the endurance and speed of RAM bringing back unified memory
architectures (von Neumann rather than Harvard for the computer science
majors amongst you). However only TI are offering FRAM single-chip
microcontrollers at the moment and these do not yet have sufficiently large
unified memories for Lua (or other interpreted languages).