1 comment

[ 3.6 ms ] story [ 15.4 ms ] thread
Incredible.

Save the program to a file and run: runhaskell quine.hs | python | ruby to get the original file.

If you look it through it's just a trivial extension of the "classical" quine. The function q prints it's arguments followed by printing a call to the function q with escaped arguments. Except instead of getting a single argument it gets 3, each of which is the corresponding function in a different language, and the function cycles to the next one.

See also http://blog.sigfpe.com/2011/01/quine-central.html