Виконуючи завдання з quine третього порядку , ваше завдання - написати програму Ouroboros, яка використовує якомога більше мов.
Тобто мовою A запишіть програму pA, яка виводить програму pB мовою B. Програма pB повинна виводити програму pC мовою C, і так далі, поки нарешті програма не виводить оригінальну програму pA мовою A.
Жодна з двох мов у вашому циклі не може бути однаковою або підмножинами або суперсетами. Жодна з програм циклу не може бути ідентичною.
Виграє найдовший ланцюжок мов. Довжина вихідного коду буде вимикачем.
Ось приклад рішення довжиною 3, подане Вентеро.
s='print q<puts %%q{s=%r;print s%%s}>';print s%s
з Python генерує цей фрагмент Perl
print q<puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}>
який генерує наступний код Ruby
puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}
який друкує оригінальний фрагмент Python:
s='print q<puts %%q{s=%r;print s%%s}>';print s%s