Earlier quoted context omitted.
I am skeptical about the novelty of Scala's "OOFP" as you put it. It looks essentially the same as the original anonymous classes or SAM types in Java. Function values are objects with a single method and methods themselves are not first-class, but are wrapped in objects as required. The most important part of OO are the first-class modules; and in the literature, arguably more elegant examples of unifying first-clas…
Your comment makes sense if we think of FP as being about "function values". In a world where all sorts of programming languages have function values, this is not a strong enough characterization anymore (if it ever truly was). Functional programming is about programming with immutability first . So OOFP is about immutable objects. I go even further to say it is about objects with immutable interfaces , but the imple…
I completely agree with this. So perhaps I am being rather hard on Scala.