In beta reduction, when a term containing a free occurrence of a variable v is substituted into another term where v is bound the free v becomes spuriously bound or “captured”. E.g.
(\ x . \ y . x y) y –> \ y . y y (WRONG)
This problem arises because two distinct variables have the same name. The most common solution is to rename the bound variable using alpha conversion:
(\ x . \ y’ . x y’) y –> \ y’ . y y’
Another solution is to use de Bruijn notation.
Note that the argument expression, y, contained a free variable. The whole expression above must therefore be notionally contained within the body of some lambda abstraction which binds y. If we never reduce inside the body of a lambda abstraction (as in reduction to weak head normal form) then name capture cannot occur.
/ˈneɪmˌtʃɛk/ verb (transitive) 1. to mention (someone) specifically by name noun 2. a specific mention of someone’s name, for example on a radio programme
[neym] /neɪm/ noun 1. a word or a combination of words by which a person, place, or thing, a body or class, or any object of thought is designated, called, or known. 2. mere designation, as distinguished from fact: He was a king in name only. 3. an appellation, title, or epithet, applied descriptively, in […]
noun 1. the feast day of the saint after whom a person is named. 2. the day on which a person is christened. noun 1. (RC Church) the feast day of a saint whose name one bears 2. another name for ticket day
- Named pipe
operating system A Unix pipe with a filename created using the “mknod” command. Named pipes allow unrelated processes to communicate with each other whereas the normal (un-named) kind can only be used by processes which are parent and child or siblings (forked from the same parent). (1996-12-01)