[ProgClub programming] Metasyntactic variable

Stuart Laughlin stuart at bistrotech.net
Fri Nov 18 00:36:54 AEDT 2016

Is this the list?

Metasyntactic variables used in the United States include foobar, foo, bar,
baz, qux, quux, corge, grault, garply, waldo, fred, plugh, xyzzy, and
thud.[1] Wibble, wobble, wubble, and flob are used in the UK.[8]

I commonly use foo, bar, baz, quux, and quuz (the last being the only one
not on the list). I don't recall ever seeing any of the others in ~20 years
of programming.


On Nov 17, 2016 3:18 AM, "Bryn Davies" <curious.jp at gmail.com> wrote:

> Is anyone using anything as a metasyntactic variable that isn't on this
> list?
> I must admit a bit of a weakness for "blep".
> On 16 November 2016 at 16:55, John Elliot V <jj5 at progclub.org> wrote:
>> TIL: Metasyntactic variable
>> https://en.wikipedia.org/wiki/Metasyntactic_variable
>> "A metasyntactic variable is a placeholder name used in computer
>> science, a word without meaning intended to be substituted by some
>> objects pertaining to the context where it is used. The word foo as used
>> in IETF Requests for Comments is a good example.[1]
>> "By mathematical analogy, a metasyntactic variable is a word that is a
>> variable for other words, just as in algebra letters are used as
>> variables for numbers.[1] Any symbol or word which does not violate the
>> syntactic rules of the language can be used as a metasyntactic variable.
>> For specifications written in natural language, nonsense words are
>> commonly used as metasyntactic variables.
>> "Metasyntactic variables have a secondary, implied meaning to the reader
>> (often students), which makes them different from normal metavariables.
>> It is understood by those who have studied computer science that certain
>> words are placeholders or examples only and should or must be replaced
>> in a production-level computer program.
>> "In hacker culture, "metasyntactic variable" has come to denote some
>> typical (otherwise meaningless) words used as metavariables in
>> computing; see reification. For example, The Hacker's Dictionary (1st
>> ed.) defined FOO as "the first metasyntactic variable" and BAR as "the
>> second metasyntactic variable", explaining that "When you have to invent
>> an arbitrary temporary name for something for the sake of exposition,
>> FOO is usually used. If you need a second one, BAR or BAZ is usually
>> used; there is a slight preference at MIT for bar and at Stanford for
>> baz. Clearly, bar was the original, for the concatenation FOOBAR is
>> widely used also, and this in turn can be traced to the obscene acronym
>> 'FUBAR' that arose in the armed forces during World War II. [...] A
>> hacker avoids using 'foo' as the real name of anything. Indeed, a
>> standard convention is that any file with 'foo' in its name is temporary
>> and can be deleted on sight."[2] The names of these consecrated
>> "metasyntactic variables" are also commonly used as actual identifiers
>> (for variables, functions, etc.) in tutorial programming examples when
>> their purpose is to emphasize syntax; in this usage, "metasyntactic
>> variable" is synonymous with "meaningless word".[3]"
>> --
>> ProgClub: because every programmer needs a good club!
>> https://www.progclub.org/
>> John Elliot V is creating Free Software and Open Communities:
>> https://www.patreon.com/jj5
>> _______________________________________________
>> ProgClub programming
>> programming at progclub.org
>> https://www.progclub.org/cgi-bin/mailman/listinfo/programming
>> https://www.progclub.org/
> --
> "And let us consider again, that all the law is not in the hand of Giant
> Despair: others, so far as I can understand, have been taken by him as well
> as we, and yet have escaped out of his hands."
> _______________________________________________
> ProgClub programming
> programming at progclub.org
> https://www.progclub.org/cgi-bin/mailman/listinfo/programming
> https://www.progclub.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.progclub.org/pipermail/programming/attachments/20161117/de7a3c2f/attachment.html>

More information about the programming mailing list