Incredible.<p>Save the program to a file and run:
runhaskell quine.hs | python | ruby
to get the original file.<p>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.<p>See also <a href="http://blog.sigfpe.com/2011/01/quine-central.html" rel="nofollow">http://blog.sigfpe.com/2011/01/quine-central.html</a>