Google

metasyntactic variable

[prev][up][next]

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 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, 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.

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, baz, bongo

          Yale, late 1970s.

spam

          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.

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.


[prev][up][next] 1 hits in February 2010
mes@science.uva.nl