Metavariable

From Infogalactic: the planetary knowledge core
(Redirected from Schematic variable)
Jump to: navigation, search

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

In logic, a metavariable (also metalinguistic variable[1] or syntactical variable[2]) is a symbol or symbol string which belongs to a metalanguage and stands for elements of some object language. For instance, in the sentence

Let A and B be two sentences of a language ℒ

the symbols A and B are part of the metalanguage in which the statement about the object language ℒ is formulated.

John Corcoran considers this terminology unfortunate because it obscures the use of schemata and because such "variables" do not actually range over a domain.[3]:220

The convention is that a metavariable is to be uniformly substituted with the same instance in all its appearances in a given schema. This is in contrast with nonterminal symbols in formal grammars where the nonterminals on the right of a production can be substituted by different instances.[4]

Attempts to formalize the notion of metavariable result in some kind of type theory.[5]

In computing one often needs to specify and document the syntax and semantics of a computer language, more or less formally. A term often used for metavariable in that area is "metasyntactic variable". Furthermore, because of the common practice in hacker culture to use nonsense words like "foo" as metavariables, the term "metasyntactic variable" has come to denote such words by themselves; for instance, "foo" is referred to as "the first metasyntactic variable" in the first edition of The Hacker's Dictionary.

See also

Notes

<templatestyles src="Reflist/styles.css" />

Cite error: Invalid <references> tag; parameter "group" is allowed only.

Use <references />, or <references group="..." />

References

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.