lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

On Wed, Dec 29, 2010 at 10:37, Roberto Ierusalimschy <> wrote:
> > but a language that
> > calls itself small and embeddable (i.e. Lua) should really be that.
> With Lua, small and embeddable doesn't necessarily mean hardware.
> Most of the time small is relative to desktop/laptop type computers,
> including small ones and embeddable refers to embedding within a
> larger application.

Actually, "embeddable" has two quite different meanings, but Lua is
embeddable in both of them. A lot of non desktop/laptop type computers
uses Lua currently.

Right and I would add to it that the small footprint of Lua is very well suited for embedding on bare-metal (which is what we do in eLua) but, of course for the good reasons and great performance, the RAM usage is sometimes "hungry". eLua already has some extensions (ie: romable tables and functions, emergency garbage collection, ...) to make life easier on the current embedded hardware constraints.

And "small" is not relative to desktop/laptop type computers. Even for a
very small laptop, if Lua grew ten fold, from its current ~200KB to 2MB,
it would make no difference at all.

Yes, but it would break the statement that it is embeddable in both of the cases as mentioned.
Although microcontrollers' hardware has been growing very fast lately, the average ROM capacity on commercial dev kits are around the 256KBytes (largely enough for eLua and we have support for sd/mmc cards and other filesystems) and RAM around 128KBytes (enough for simple and medium size applications). There are some MCUs on the market (and many announced for soon) with 1MB++ ROM and 512KB++ RAM. Clock frequencies are already ok and won't stop to grow for a while.
A ten fold growth of Lua's footprint would be very bad for eLua and I hope this is not on Lua's roadmap :) :)

The current eLua supported platforms, architectures, peripherals and features can be seen here

Details on using eLua on supported kits and a (user editable) wish list of new platforms are on our wiki at

-- Roberto