But basically Espruino is designed for devices with limited RAM. As such, by allowing it to execute code as it is uploaded it is able to fit in twice as much code (it's not having to store the text version of what it is running, as well as the 'interpreted' version).
Your suggestion for the EspruinoTools change effectively not only negates the efficiency but makes it 50% worse: you now have to store the text version, interpreted giant function, and the result of executing that function.
If you want the behaviour you expect, all you have to do is flip the IDE over to 'save to flash' and you're sorted. When saving to flash Espruino can execute direct from flash so it's not having to use the RAM - but this isn't an option for all devices.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
This might help as well: http://www.espruino.com/Saving
But basically Espruino is designed for devices with limited RAM. As such, by allowing it to execute code as it is uploaded it is able to fit in twice as much code (it's not having to store the text version of what it is running, as well as the 'interpreted' version).
Your suggestion for the EspruinoTools change effectively not only negates the efficiency but makes it 50% worse: you now have to store the text version, interpreted giant function, and the result of executing that function.
If you want the behaviour you expect, all you have to do is flip the IDE over to 'save to flash' and you're sorted. When saving to flash Espruino can execute direct from flash so it's not having to use the RAM - but this isn't an option for all devices.