The Jargon File (version 4.4.7, 29 Dec 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, |MIT/Stanford usage, now found everywhere (thanks largely |
|baz, quux, |to early versions of this lexicon!). At MIT (but not at |
|quuux, |Stanford), baz dropped out of use for a while in the |
|quuuux...: |1970s and '80s. A common recent mutation of this sequence|
| |inserts quxbefore quux. |
|---------------+---------------------------------------------------------|
|bazola, ztesch:|Stanford (from mid-'70s on). |
|---------------+---------------------------------------------------------|
|foo, bar, |This series was popular at CMU. Other CMU-associated |
|thud, grunt: |variables include gorp. |
|---------------+---------------------------------------------------------|
| |Waterloo University. We are informed that the CS club at |
|foo, bar, |Waterloo formerly had a sign on its door reading ?Ye Olde|
|bletch: |Foo Bar and Grill?; this led to an attempt to establish ?|
| |grill? as the third metasyntactic variable, but it never |
| |caught on. |
|---------------+---------------------------------------------------------|
|foo, bar, |This series is reported to be common at XEROX PARC. |
|fum: | |
|---------------+---------------------------------------------------------|
|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, |Cambridge University (England). |
|wombat: | |
|---------------+---------------------------------------------------------|
|shme |Berkeley, GeoWorks, Ingres. Pronounced /shme/ with a |
| |short /e/. |
|---------------+---------------------------------------------------------|
|foo, bar, baz, |Yale, late 1970s. |
|bongo | |
|---------------+---------------------------------------------------------|
|spam, eggs |Python programmers. |
|---------------+---------------------------------------------------------|
|snork |Brown University, early 1970s. |
|---------------+---------------------------------------------------------|
|foo, bar, |Helsinki University of Technology, Finland. |
|zot | |
|---------------+---------------------------------------------------------|
|blarg, wibble|New Zealand. |
|---------------+---------------------------------------------------------|
|toto, titi, |France. |
|tata, tutu | |
|---------------+---------------------------------------------------------|
|pippo, pluto, |Italy. Pippo /pee'po/ and Paperino /pa?per?ee'?no/ are |
|paperino |the Italian names for Goofy and Donald Duck. Pluto, of |
| |course, is Mickey's dog. |
|---------------+---------------------------------------------------------|
|aap, noot, mies|The Netherlands. These are the first words a child used |
| |to learn to spell on a Dutch spelling board. |
|---------------+---------------------------------------------------------|
|oogle, foogle, |These two series (which may be continued with other |
|boogle; zork, |initial consonents) are reportedly common in England, and|
|gork, bork |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.
The Free On-line Dictionary of Computing (30 December 2018):
metasyntactic variable
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)