[from the name of the logician Willard van Orman 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. (We ignore
some variants of BASIC in which a program consisting of a single
empty string literal reproduces itself trivially.) Here is one
classic quine:
((lambda (x)
(list x (list (quote quote) x)))
(quote
(lambda (x)
(list x (list (quote quote) x)))))
This one works in LISP or Scheme. 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:
[glossary]
[Reference(s) to this entry by made by: {replicator}]