from
Jargon File (4.4.4, 14 Aug 2003)
metasyntactic variable
n.
A name used in examples and understood to stand for whatever thing is
under discussion, or any random member of a class of things under
discussion. The word {foo} is the {canonical} example. To avoid
confusion, hackers never (well, hardly ever) use `foo' or other words
like it as permanent names for anything. In filenames, a common
convention is that any filename beginning with a
metasyntactic-variable name is a {scratch} file that may be deleted at
any time.
Metasyntactic variables are so called because (1) they are variables
in the metalanguage used to talk about programs etc; (2) they are
variables whose values are often variables (as in usages like "the
value of f(foo,bar) is the sum of foo and bar"). However, it has been
plausibly suggested that the real reason for the term "metasyntactic
variable" is that it sounds good. To some extent, the list of one's
preferred metasyntactic variables is a cultural signature. They occur
both in series (used for related groups of variables or objects) and
as singletons. Here are a few common signatures:
{foo}, {bar}, {baz}, {quux}, quuux, quuuux...: MIT/Stanford usage, now
found everywhere (thanks largely to early versions of this lexicon!).
At MIT (but not at Stanford), {baz} dropped out of use for a while in
the 1970s and '80s. A common recent mutation of this sequence inserts
{qux}before {quux}.
bazola, ztesch: Stanford (from mid-'70s on).
{foo}, {bar}, thud, grunt: This series was popular at CMU. Other
CMU-associated variables include {gorp}.
{foo}, {bar}, bletch: Waterloo University. We are informed that the CS
club at Waterloo formerly had a sign on its door reading "Ye Olde Foo
Bar and Grill"; this led to an attempt to establish "grill" as the
third metasyntactic variable, but it never caught on.
{foo}, {bar}, fum: This series is reported to be common at XEROX PARC.
{fred}, jim, sheila, {barney}: See the entry for {fred}. These tend to
be Britishisms.
{flarp}: Popular at Rutgers University and among {GOSMACS} hackers.
zxc, spqr, wombat: Cambridge University (England).
shme Berkeley, GeoWorks, Ingres. Pronounced /shme/ with a short /e/.
foo, bar, baz, bongo Yale, late 1970s.
spam, eggs {Python} programmers.
snork Brown University, early 1970s.
{foo}, {bar}, zot Helsinki University of Technology, Finland.
blarg, {wibble} New Zealand.
toto, titi, tata, tutu France.
pippo, pluto, paperino Italy. Pippo /pee'po/ and Paperino
/pa.per.ee'.no/ are the Italian names for Goofy and Donald Duck.
aap, noot, mies The Netherlands. These are the first words a child
used to learn to spell on a Dutch spelling board.
oogle, foogle, boogle; zork, gork, bork These two series (which may be
continued with other initial consonents) are reportedly common in
England, and said to go back to Lewis Carroll.
Of all these, only foo and bar are universal (and {baz} nearly so).
The compounds {foobar} and foobaz also enjoy very wide currency. Some
jargon terms are also used as metasyntactic names; {barf} and
{mumble}, for example. See also {Commonwealth Hackish} for discussion
of numerous metasyntactic variables found in Great Britain and the
Commonwealth.
from
The Free On-line Dictionary of Computing (8 July 2008)
metasyntactic variable
<grammar> Strictly, a {variable} used in {metasyntax}, but
often used for any name used in examples and understood to
stand for whatever thing is under discussion, or any random
member of a class of things under discussion. The word {foo}
is the {canonical} example. To avoid confusion, hackers never
(well, hardly ever) use "foo" or other words like it as
permanent names for anything.
In filenames, a common convention is that any filename
beginning with a metasyntactic-variable name is a {scratch}
file that may be deleted at any time.
To some extent, the list of one's preferred metasyntactic
variables is a cultural signature. They occur both in series
(used for related groups of variables or objects) and as
singletons. Here are a few common signatures:
{foo}, {bar}, {baz}, {quux}, quuux, quuuux...: MIT/Stanford
usage, now found everywhere. At MIT (but not at Stanford),
{baz} dropped out of use for a while in the 1970s and '80s. A
common recent mutation of this sequence inserts {qux} before
{quux}.
bazola, ztesch: Stanford (from mid-'70s on).
{foo}, {bar}, thud, grunt: This series was popular at CMU.
Other CMU-associated variables include ack, barf, foo, and
{gorp}.
{foo}, {bar}, fum: This series is reported to be common at
{Xerox PARC}.
{fred}, {barney}: See the entry for {fred}. These tend to be
Britishisms.
{toto}, titi, tata, tutu: Standard series of metasyntactic
variables among francophones.
{corge}, {grault}, {flarp}: Popular at Rutgers University and
among {GOSMACS} hackers.
zxc, spqr, {wombat}: Cambridge University (England).
shme: Berkeley, GeoWorks, Ingres. Pronounced /shme/ with a
short /e/.
{foo}, {bar}, zot: {Helsinki University of Technology},
Finland.
blarg, wibble: New Zealand
Of all these, only "foo" and "bar" are universal (and {baz}
nearly so). The compounds {foobar} and "foobaz" also enjoy
very wide currency.
Some jargon terms are also used as metasyntactic names; {barf}
and {mumble}, for example.
See also {Commonwealth Hackish} for discussion of numerous
metasyntactic variables found in Great Britain and the
Commonwealth.
[{Jargon File}]
(1995-11-13)