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.
1 comment
[ 3.6 ms ] story [ 15.4 ms ] threadSave 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