Após o desafio quine de terceira ordem , sua tarefa é escrever um programa Ouroboros que use o maior número possível de idiomas.
Ou seja, na linguagem A, escreva um programa pA que emita o programa pB na linguagem B. O programa pB deve emitir o programa pC na linguagem C, e assim por diante até que, eventualmente, um programa produz o programa original pA na linguagem A.
Não há dois idiomas no seu loop que possam ser iguais ou subconjuntos ou superconjuntos. Nenhum dos programas no loop pode ser idêntico.
A maior cadeia de idiomas vence. O comprimento do código fonte será o desempatador.
Aqui está um exemplo de solução de comprimento 3 fornecido por Ventero.
s='print q<puts %%q{s=%r;print s%%s}>';print s%s
com Python gera esse snippet Perl
print q<puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}>
que gera o seguinte código Ruby
puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}
que imprime o snippet original do Python:
s='print q<puts %%q{s=%r;print s%%s}>';print s%s
fonte
Respostas:
Aqui está um loop de 4 idiomas:
C -> Bash -> Lote -> Python -> C
C
Bater
Lote
Pitão
fonte