"...KISS is a fine principal to adopt"
Agreed, but "simple" is also subjective.
For me, simple is allowing for same or similar input, not based on context, but also not requiring extra "noise characters" to determine meaning.
Example, one feature my calc has, is I can say a=2*pi*1 and for the LHS assign (_only_, right now), the sigil isn't needed (pi is a sub(){...}). Also doesn't require an ending semi -- allowing
less "code-looking-like" input. I can add a semi or a '$' if I want -- and *have* to if 'a' is an array or hash, but for simple vars...allow "simple", non-decorated input. See, there's that word "simple" again... I'm just thinking along simpler lines... (whatever that might imply/mean! ;-)).