Initial Research - smartnuf/ees GitHub Wiki
In the Beginning
I began by searching the web for components and systems that might be useful for this. I discovered Lua, eLua, embLua and nutlua first. I bumped in to microPython after that, and thought that looked like a promising place to start. I skipped over a number of other embeddable scripting languages, after a cursory look -- for the most part for looking like they would be too heavy to cut down to size. Though, I do covet some of the features of Julia. FORTH is renown for being compact, but is sometimes said to be a write only language -- and would rather avoid burdening my users with having to picture stack operations.
embLua, mention up-front a footprint of 90K byte ROM, and 12K RAM for a Rensis target, and I wondered how microPython might compare...
I took a look at microPython here. I found that with no REPL, the bare-arm
port built to 66K or so for an STM32F4 target, the minimal
port (which does call the REPL, and also targets an STM32 device) built to 70K or so, it looks like the stm32
port builds to some thing like 318K -- though my build did not complete properly.
eLua, built for an STM32F103 target with all the modules (including the platform device modules) yields a 211K image.