@marick Scheme? Plenty of languages let you redefine existing functions...
Though it has little to do with compiled or not compiled. Emacs Lisp can be compiled to machine code, or byte code. In Common Lisp the same .. and even there you can re-define existing functions in a different "package".
What matters is how function look up is done, and I suspect that you can redefine + in Ruby as well. Not so much namespaces.