Functional programming in computer science, functional programming is a programming paradigm where programs are constructed by applying and composing functions. Graph reduction combinator graph reduction strict programming language lazy evaluation, eager evaluation speculative evaluation side effect assignment setq closure continuation continuation passing style operational semantics state transition system simulation preorder bisimulation monads in functional programming exception handling garbage. It allows building programs from a set of generally useful primitives and avoiding named variables (a style also called tacit programming or point free)
It was heavily influenced by apl developed by kenneth e Topics covered include functional languages and extensions, implementation techniques, reasoning and proof, program transformation and synthesis, type systems. Iverson in the early 1960s
Comparison of functional programming languages the table shows a comparison of functional programming languages which compares various features and designs of different functional programming languages. In functional programming, an applicative functor, or an applicative for short, is an intermediate structure between functors and monads Applicative functors allow for functorial computations to be sequenced (unlike plain functors), but don't allow using results from prior computations in the definition of subsequent ones (unlike monads). In the classification of programming languages, an applicative programming language is built out of functions applied to arguments
Applicative languages are functional, and applicative is often used as a synonym for functional [2] however, concatenative languages can be functional, while not being applicative [3] the semantics of applicative languages are based on beta reduction of terms.