Functional programming is a declarative programming paradigm in which programs are constructed through the composition of functions, where each function is an expression that returns a value.
Attributes of Functional Programs
|First Class Functions||Functions can be bound to names, treated as variables, passed as arguments, and returned as the results of other functions|
|Pure Functions||Functions are deterministic: They always produce the same output from a given input without performing any side-effects (modifying values outside the function)|
|Idempotence||Side-effects (changes to state) produced by a function will occur only once, even if the function is executed multiple times|
Broader Topics Related to Functional Programming
The study of algorithms, data structures, information, and computation