In mathematics, function application is the act of applying a function to an argument from its domain so as to obtain the corresponding value from its range. In this sense, function application can be thought of as the opposite of function abstraction. Function application is usually depicted by juxtaposing the variable representing the function with its argument encompassed in parentheses. For example, the following expression represents the application of the function ƒ to its argument x. In some instances, a different notation is used where the parentheses aren't required, and function application can be expressed just by juxtaposition. For example, the following expression can be considered the same as the previous one: The latter notation is especially useful in combination with the currying isomorphism. Given a function , its application is represented as by the former notation and (or with the argument written with the less common angle brackets) by the latter. However, functions in curried form can be represented by juxtaposing their arguments: , rather than . This relies on function application being left-associative. Apply Function application can be trivially defined as an operator, called apply or , by the following definition: The operator may also be denoted by a backtick (`). If the operator is understood to be of low precedence and right-associative, the application operator can be used to cut down on the number of parentheses needed in an expression. For example; can be rewritten as: However, this is perhaps more clearly expressed by using function composition instead: or even: if one considers to be a constant function returning . Function application in the lambda calculus is expressed by β-reduction. The Curry–Howard correspondence relates function application to the logical rule of modus ponens.

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Related lectures (2)
Avoiding Variable Capture
Explores variable capture in higher-order functions and the importance of variable renaming.
Elements of Programming
Covers primitive expressions, evaluation processes, function applications, types, and evaluation strategies in programming.
Related publications (2)
Related concepts (2)
Lambda calculus
Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation that can be used to simulate any Turing machine. It was introduced by the mathematician Alonzo Church in the 1930s as part of his research into the foundations of mathematics. Lambda calculus consists of constructing lambda terms and performing reduction operations on them.
Currying
In mathematics and computer science, currying is the technique of translating the evaluation of a function that takes multiple arguments into evaluating a sequence of functions, each with a single argument. For example, currying a function that takes three arguments creates a nested unary function , so that the code gives the same value as the code or called in sequence, In a more mathematical language, a function that takes two arguments, one from and one from , and produces outputs in by currying is translated into a function that takes a single argument from and produces as outputs functions from to This is a natural one-to-one correspondence between these two types of functions, so that the sets together with functions between them form a .

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.