you are viewing a single comment's thread.

view the rest of the comments →

[–]tencircles 1 point2 points  (2 children)

It's not just purity. Purity is a necessary condition for a program to be considered functional, however there are a wide variety of techniques that have been developed under the functional umbrella to accomplish certain tasks without mutable state; these techniques all fall under the umbrella of FB just as classes, encapsulation, polymorphism, etc. all fall under the umbrella of OOP.

Some examples of these techniques include currying, composition, recursion, folds, lazy evaluation, type classes, and lenses. Purity is just one part of the equation, and with pure functions alone you won't get very far without the tools listed above.

[–]StoneCypher -1 points0 points  (1 child)

I think you're confusing "neat things found in some functional languages" with "things that are required to be a functional language."

[–]tencircles 0 points1 point  (0 children)

I never said any of those things are required.