VM/Interpreter - stack or register based?

Do you have a practical example to illustrate how that could be useful?

AmForth, Tinybasic are good examples of other interpreted languages which have the same usecase.

Some examples:

  • User needs a solution which will need adjustment 'in the field'. When adding a wifi-shield, he can send Serial Data to the Arduino to adjust the program.
  • User needs to write a large program and using external memory and an interpreter is able to (at the expense of speed.)
  • User builds program in the Arduino IDE and inserts a library to the interpreter. After uploading he sees that it does not work as expected and uses the Serial Monitor / Interpreter to probe the Arduino for debug info.