Functional programming
programming
(FP) A program in a functional language consists of a set of (possibly recursive) function definitions and an expression whose value is output as the program’s result. Functional languages are one kind of declarative language. They are mostly based on the typed lambda-calculus with constants. There are no side-effects to expression evaluation so an expression, e.g. a function applied to certain arguments, will always evaluate to the same value (if its evaluation terminates). Furthermore, an expression can always be replaced by its value without changing the overall result (referential transparency).
The order of evaluation of subexpressions is determined by the language’s evaluation strategy. In a strict (call-by-value) language this will specify that arguments are evaluated before applying a function whereas in a non-strict (call-by-name) language arguments are passed unevaluated.
Programs written in a functional language are generally compact and elegant, but have tended, until recently, to run slowly and require a lot of memory.
Examples of purely functional languages are Clean, FP, Haskell, Hope, Joy, LML, Miranda, and SML. Many other languages such as Lisp have a subset which is purely functional but also contain non-functional constructs.
See also lazy evaluation, reduction.
Lecture notes (ftp://ftp.cs.olemiss.edu/pub/tech-reports/umcis-1995-01.ps). or the same in dvi-format (ftp://ftp.cs.olemiss.edu/pub/tech-reports/umcis-1995-01.dvi).
FAQ (http://cs.nott.ac.uk/Department/Staff/gmh/faq.html).
SEL-HPC Article Archive (http://lpac.ac.uk/SEL-HPC/Articles/).
(2003-03-25)
Read Also:
- Functional programming language
programming (FP) A program in a functional language consists of a set of (possibly recursive) function definitions and an expression whose value is output as the program’s result. Functional languages are one kind of declarative language. They are mostly based on the typed lambda-calculus with constants. There are no side-effects to expression evaluation so an […]
- Functional-representation
noun, Government. 1. representation in a governing body on the basis of social class or occupation.
- Functional requirements
specification What a system should be able to do, the functions it should perform. This term is used at both the user requirements analysis and software requirements specifications phases in the software life-cycle. An example of a non-functional requirement is an initialisation sequence incorporated into the software that is specific to a given customer. (2001-05-22)
- Functional residual capacity
functional residual capacity n. Abbr. FRC The volume of gas remaining in the lungs at the end of a normal expiration. Also called functional residual air.
- Functional-sentence-perspective
noun, Linguistics. 1. the organization of a sentence in terms of the role of its elements in distinguishing between old and new information, especially the division of a sentence into theme and rheme.