quine

/kwi:n/ (After the logician Willard V. Quine,
via Douglas Hofstadter) A program that generates a copy of its
own source text as its complete output. Devising the shortest
possible quine in some given programming language is a common
hackish amusement.

In most interpreted languages, any constant, e.g. 42, is a
quine because it "evaluates to itself". In certain Lisp
dialects (e.g. Emacs Lisp), the symbols "nil" and "t" are
"self-quoting", i.e. they are both a symbol and also the value
of that symbol. In some dialects, the function-forming
function symbol, "lambda" is self-quoting so that, when
applied to some arguments, it returns itself applied to those
arguments. Here is a quine in Lisp using this idea:

It's relatively easy to write quines in other languages such
as PostScript which readily handle programs as data; much
harder (and thus more challenging!) in languages like C
which do not. Here is a classic C quine for ASCII
machines: