In mathematics, and in other disciplines involving formal languages, including mathematical logic and computer science, a free variable is a notation that specifies places in an expression where substitution may take place. The idea is related to a placeholder (a symbol that will later be replaced by some literal string), or a wildcard character that stands for an unspecified symbol.
The variable x becomes a bound variable, for example, when we write
- 'For all x, (x + 1)2 = x2 + 2x + 1.'
or
- 'There exists x such that x2 = 2.'
In either of these propositions, it does not matter logically whether we use x or some other letter. However, it could be confusing to use the same letter again elsewhere in some compound proposition. That is, free variables become bound, and then in a sense retire from being available as stand-in values for other values in the creation of formulae.
In computer programming, a free variable is a variable referred to in a function that is not a local variable or an argument of that function[1]. An upvalue is a free variable that has been bound (closed over) with a closure. Note that variable "freeness" only applies in lexical scoping, There's no distinction when using dynamic scope. That's also why there are no closures in dynamic scope.
The term "dummy variable" is also sometimes used for a bound variable (more often in general mathematics than in computer science), but that use creates an ambiguity with the definition of dummy variables in regression analysis.
Contents |
|
ManualGear.com
Double-wishbone front suspension and multi-link rear suspension work with an intelligent, four-cornered, air-suspension system and electronic variable ...
and more »
