Suite au défi de troisième ordre , votre tâche consiste à écrire un programme Ouroboros qui utilise autant de langues que possible.
C'est-à-dire, dans la langue A, écrire un programme pA qui produit le programme pB dans la langue B. Le programme pB devrait produire le programme pC dans la langue C, et ainsi de suite jusqu'à ce qu'un programme sorte finalement le programme original pA dans la langue A.
Aucune langue de votre boucle ne peut être la même ou des sous-ensembles ou des sur-ensembles l'un de l'autre. Aucun des programmes de la boucle ne peut être identique.
La plus longue chaîne de langues gagne. La longueur du code source sera le bris d'égalité.
Voici un exemple de solution de longueur 3 donnée par Ventero.
s='print q<puts %%q{s=%r;print s%%s}>';print s%s
avec Python génère cet extrait de code Perl
print q<puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}>
qui génère le code Ruby suivant
puts %q{s='print q<puts %%q{s=%r;print s%%s}>';print s%s}
qui imprime ensuite l'extrait de code Python original:
s='print q<puts %%q{s=%r;print s%%s}>';print s%s
la source
Réponses:
Voici une boucle de 4 langues:
C -> Bash -> Lot -> Python -> C
C
Frapper
Lot
Python
la source