whatisgithub

What is quine-relay?

mame/quine-relay — explained in plain English

Analysis updated 2026-06-24

14,478RubyAudience · developerComplexity · 5/5Setup · hard

In one sentence

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.

Mindmap

mindmap
  root((Quine Relay))
    Concept
      128 languages
      Ouroboros loop
      Self-reproducing
    Languages
      Ruby start
      Rust second
      Brainfuck obscure
    Setup
      Ubuntu packages
      128 runtimes
      CI verification
    Audience
      Curious devs
      Language fans
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study how a self-reproducing quine program works by tracing one link in the 128-language chain.

USE CASE 2

Use it as a verification test to confirm that all 128 programming language runtimes are correctly installed on an Ubuntu machine.

What is it built with?

RubyRustScalaPythonJavaGoBrainfuck

How does it compare?

mame/quine-relaygollum/gollumbasecamp/kamal
Stars14,47814,26614,211
LanguageRubyRubyRuby
Setup difficultyhardmoderatemoderate
Complexity5/52/53/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires all 128 language compilers and interpreters installed on Ubuntu, a very long package list.

So what is it?

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.

Copy-paste prompts

Prompt 1
Explain step by step how the Ruby link in quine-relay produces valid Rust source code that itself is a quine for the next language.
Prompt 2
What Ubuntu packages do I need to install to run the full quine-relay chain, and what shell commands do I use to execute each step?
Prompt 3
How does quine-relay ensure the final program in the 128-language chain regenerates the original Ruby source code exactly?

Frequently asked questions

What is quine-relay?

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.

What language is quine-relay written in?

Mainly Ruby. The stack also includes Ruby, Rust, Scala.

How hard is quine-relay to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is quine-relay for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.