R is like:
- Clojure, because most objects are immutable
- Scala, because it combined functional and OO techniques
- Node.js, because the interpreter is single threaded
- PHP, because it favours pragmatism over purity
- Lisp, because it's homoiconic
- Perl, because OO is (mostly) implemented using the language itself
Can you say "because you can write programs that manipulate programs" instead of "because it's homoiconic"? R is at most as homoiconic as Python. They both have access to the AST, but homoiconicity means programs having the same representation as data. (Yes, it's a horribly abused term, but that's no reason to perpetuate the problem!)
(like Javascript because it has crazy scoping rules, but at least you can use closures :)