Category:Functional paradigm
The functional paradigm of language design is the oldest syntactic and semantic tradition in computer science, originating in the study of formal logic. Features of languages in the functional paradigm are not consistent, but often include:
- The syntactic traditions of combinatory logic and lambda calculus, carried through the Lisp, ML, and APL families
- Applicative trees and combining forms
- A single unified syntax for expressions, statements, declarations, and other parts of programs
- Domain-theoretic semantics which admit an algebra of programs
- Deprecation or removal of variables, points, parameters, and other binders in favor of point-free/tacit approaches
While the functional paradigm first arose in the 1920s prior to the definition of Turing machine, the modern definition is due to John Backus, who circumscribed functional programming in a 1978 lecture which also introduced the language FP.[1]
Note that, contrary to popular belief, a language in the functional paradigm can have semantics which are not valued in sets and functions. In general, a functional language might have general recursion, or alternatively it might be total and valued in finite sets and finite functions, or it might even be unsound! The functional paradigm is about the tradition and history behind a programming system, not merely its semantics.
References
- ↑ John Backus. 1978. Can programming be liberated from the von Neumann style? a functional style and its algebra of programs. Commun. ACM 21, 8 (Aug. 1978), 613–641. https://doi.org/10.1145/359576.359579