quine-relay
An uroboros program with 100+ programming languages
Quine Relay is a programming art project: a chain of 128 programs cycling through 128 different languages where each program outputs the next language's source code, eventually regenerating the original Ruby file.
Quine Relay is a programming curiosity written in Ruby. A quine is a program that, when run, produces its own source code as output. This project takes that concept much further: it is a chain of quines across 128 different programming languages. Running the Ruby file produces a Rust program, running that Rust program produces a Scala program, running that produces the next program in the chain, and so on through 128 different languages, until the very last one produces the original Ruby code again. The overall structure forms a loop, named after the ouroboros, an ancient symbol of a snake eating its own tail.
This is a programming art project and a technical challenge, not a practical tool. Its value is in demonstrating an extreme commitment to a playful idea: that you can create a fully closed cycle of programs across a huge variety of programming languages, each one faithfully regenerating the next link in the chain.
To actually run it, you need every one of the 128 language interpreters and compilers installed on your machine. On Ubuntu Linux, this means installing a very long list of packages. The README provides the exact commands needed: first install all the tools, then run each program in sequence, checking that each step produces the correct output for the next step. The chain includes languages ranging from well-known ones like Python, Java, Ruby, Rust, and Go to obscure or joke languages like Brainfuck, Whitespace, and Ook.
The project is maintained with a continuous integration system that verifies the full 128-language chain still works correctly.
Where it fits
- Study how a self-reproducing quine program works by tracing one link in the 128-language chain.
- Use it as a verification test to confirm that all 128 programming language runtimes are correctly installed on an Ubuntu machine.