Skip to content

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.
Clone this wiki locally