The title says most of it.
I'm working on a project for which the customer wants a lot of flexibility to customize a product. The existing "macro language" is ancient (ca1985), cryptic (it looks like machine language), limited, clunky, etc. The customer is willing to change.
I'm planning on having a chunk of serial flash (or an SD card) with a file system on it (maybe FAT, maybe something home-rolled and primitive). Scripts will be stored as text files, and read in as appropriate.
Rather than just use some clunky cryptic and limited language that's unique to the problem and to me (and charging my customer up the wazoo for it), I'd like to use something that's open-source and available. Something that uses modest resources is to be preferred -- my understanding is that I can expect Lua to use about 100k of flash, which is a bit much for me but bearable. I don't know how Tcl compares -- I just know that it's an alternative.
So -- anyone have any direct experience with either of these, or with something else? We briefly considered Java, but it just looks entirely too big -- it would basically drive us to use Linux or some other "real" OS (even the little linuxes are too big for my tastes) -- I'd really rather just have a scripting engine that gets called whenever a script needs to run, and otherwise doesn't need much hand-holding from the application code.
I'm looking for opinions, so fire away!