An article (by me) that provides a precise definition of what Object Orientation (aka, Object Oriented Programming) is, in addition to critiquing the typical mainstream definitions of OO, and providing a unique perspective on how OO done right actually looks like. By the given definition, Haskell qualifies as an object oriented language, fair and square.

I believe that the best functional languages are those which support Object Orientation well. These include Common Lisp, Scala, OCaml, some Scheme implementations, etc. Can we please spread the word about the concept of Object Oriented Functional Programming? OO only enriches FP, and never conflicts with it. Scala is a great example.