-
Notifications
You must be signed in to change notification settings - Fork 0
FunctionalProgramming
Ben Christel edited this page Jul 16, 2023
·
1 revision
Functional programming is an approach to the internal design of software characterized by:
- The reification of Routines as Values. In order to qualify as functional, a programming language must let you assign functions to variables, pass them as arguments to other functions, and return them from functions.
- Heavy use of pure Functions that operate on Immutable Data.
- Collocation of State and Process-external Effects near the top of the DependencyGraph.
- Use of algebraic identities, category theory, and other ideas from mathematics to prove that programs have certain desirable properties and that those properties are invariant under certain Refactorings.