In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state. Functional programming has its roots in the lambda calculus, a formal system developed in the 1930s to investigate function definition, function appl...
more
Read article at Wikipedia
Functional programming
Literature Subject
Works Written About This Topic
Similar topics in Freebase
-
Haskell
Haskell (pronounced [ˈhæskəl]) is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. Following the release of Miranda by Research Software Ltd, in 1985, interest in lazy functional... -
Computer programming
Computer programming (often shortened to programming or coding) is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language. The code may be a modification of an existing source or... -
Dynamic programming language
Dynamic programming language is a term used broadly in computer science to describe a class of high-level programming languages that execute at runtime many common behaviors that other languages might perform during compilation, if at all. These behaviors could include extension of the program, by... -
Procedural programming
Procedural programming can sometimes be used as a synonym for imperative programming (specifying the steps the program must take to reach the desired state), but can also refer (as in this article) to a programming paradigm based upon the concept of the procedure call. Procedures, also known as... -
Lazy evaluation
In computer programming, lazy evaluation is the technique of delaying a computation until the result is required. The benefits of lazy evaluation include: performance increases due to avoiding unnecessary calculations, avoiding error conditions in the evaluation of compound expressions, the ability... -
Structured programming
Structured programming can be seen as a subset or subdiscipline of procedural programming, one of the major programming paradigms. It is most famous for removing or reducing reliance on the GOTO statement. Historically, several different structuring techniques or methodologies have been developed... -
Multi-paradigm programming language
Programming languages can be grouped by the number and types of paradigms supported. A concise reference for the programming paradigms listed in this article. -
Prototype-based programming
Prototype-based programming is a style of object-oriented programming in which classes are not present, and behavior reuse (known as inheritance in class-based languages) is performed via a process of cloning existing objects that serve as prototypes. This model can also be known as class-less,... -
Imperative programming
In computer science, imperative programming is a programming paradigm that describes computation in terms of statements that change a program state. In much the same way that imperative mood in natural languages expresses commands to take action, imperative programs define sequences of commands for... -
Interpreted language
In computer programming, an interpreted language is a programming language whose programs are not directly executed by the host cpu but rather executed (or said to be interpreted) by a software program known as an interpreter. The source code of the program is often translated to a form that is...