> The real purpose behind functional programming is to separate the functional description of what should happen from the mechanics of how it actually does happen.
I found this statement entirely fascinating, as it reminds me of the definition and motivation of interface in Java and many other languages. And no-one has ever claimed Java to be a functional language because of interfaces!
I wouldn't conflate the ideas of declarative programming in FP (somewhat similar to SQL in that regard) with interfaces/protocols in other languages. They may render similarly in English, but that's about it.
No, people claimed that Java was a functional language, prior to actually getting lambdas & all that comes with them, due to [anonymous] inner classes.
I found this statement entirely fascinating, as it reminds me of the definition and motivation of interface in Java and many other languages. And no-one has ever claimed Java to be a functional language because of interfaces!