Functional Programming Terminology
FP vocabulary in plain language: purity, immutability, composition, higher-order functions, and more.
Functional programming terms can sound abstract until you see them in code. This section keeps definitions practical and short.
If you come from Java, use these entries as translation: connect the FP term to something you already know (testing, refactoring, concurrency) and then apply it back to Clojure examples.
In this section
-
Higher-Order Functions
What higher-order functions are, why they matter in Clojure, and how Java developers should read patterns like `map`, `filter`, `reduce`, and returned functions.
-
Destructuring
How Clojure destructuring binds names from vectors and maps, why it matters in everyday code, and where Java developers should be careful.
-
Currying and Partial Application
How currying and partial application differ in Clojure, why `partial` is the common tool, and when Java developers should use each idea.