OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I’m not aware of them.
So… Erlang? (RIP Joe Armstrong 🙏) And that was before this
(I’m not against types, but I don’t know of any type systems that aren’t a complete pain, so I still like dynamic typing.)
Indeed, Dr. Kay.