A very new language:
My biggest complaint about OO is abstract classes. They are arbitrary and a pain to maintain. You make them when you want to write a method that works for different classes - a generic method. TypeInference does this automatically, so you don't have to write virtual classes.
You don't need abstract classes to write generic methods in DynamicallyTyped languages, such as PythonLanguage, RubyLanguage, SmalltalkLanguage or CommonLisp (I don't know about PerlLanguage). A class does not define a type in a dynamically typed language, it only implements a type. So an object of any class that provides the behaviour expected by a generic method can be passed to that method no matter where that class is located in the inheritance tree.
And if you took this powerful concept much further, you would get PrototypeBasedLanguages like SelfLanguage, JavaScript, and CecilLanguage.
Where are some examples of Needle code? The website only has PDF slides.
This one has code http://www.nongnu.org/needle/mit-needle-talk.pdf
This language has not been worked on since 2002, so don't hold your breath.
See also: ScalaLanguage