Applicative
Encyclopedia
In the classification of programming languages
, an applicative programming language is designed to support the development of programs as giving the result of a function of the combined variables. Successive functional transformations are applied to data to arrive at the result. Such a language
, with program control and total state kept in the background, may also be known as a functional language, in a rather loose sense of the term.
Lisp
and ML
are applicative programming languages. In Haskell
, this programming paradigm is developed into the applicative functor
, which extends the higher-order function
al abstraction beyond monad.
Programming paradigm
A programming paradigm is a fundamental style of computer programming. Paradigms differ in the concepts and abstractions used to represent the elements of a program and the steps that compose a computation A programming paradigm is a fundamental style of computer programming. (Compare with a...
, an applicative programming language is designed to support the development of programs as giving the result of a function of the combined variables. Successive functional transformations are applied to data to arrive at the result. Such a language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
, with program control and total state kept in the background, may also be known as a functional language, in a rather loose sense of the term.
Lisp
Lisp programming language
Lisp is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax. Originally specified in 1958, Lisp is the second-oldest high-level programming language in widespread use today; only Fortran is older...
and ML
ML programming language
ML is a general-purpose functional programming language developed by Robin Milner and others in the early 1970s at the University of Edinburgh, whose syntax is inspired by ISWIM...
are applicative programming languages. In Haskell
Haskell (programming language)
Haskell is a standardized, general-purpose purely functional programming language, with non-strict semantics and strong static typing. It is named after logician Haskell Curry. In Haskell, "a function is a first-class citizen" of the programming language. As a functional programming language, the...
, this programming paradigm is developed into the applicative functor
Functor
In category theory, a branch of mathematics, a functor is a special type of mapping between categories. Functors can be thought of as homomorphisms between categories, or morphisms when in the category of small categories....
, which extends the higher-order function
Higher-order function
In mathematics and computer science, higher-order functions, functional forms, or functionals are functions which do at least one of the following:*take one or more functions as an input*output a function...
al abstraction beyond monad.
External links
- Applicative Programming with Effects (in Haskell, 2008) by Conor McBride and Ross Paterson