[By Olivier Danvy, via Dave Long]
On the next planet, in a building, there was a computer room.
The little prince: “Good evening.”
The programmer, glued to his computer terminal: “Sh! I’m programming!”
The little prince: “What is programming?”
The programmer, his eyes still on the screen: “Mmmmh… you’re interrupting me! What are you doing here?”
The little prince: “What is programming?”
The programmer, blinking and turning his head towards the little prince: “It is to make a machine do something. You write a program specifying what to do and the machine runs it.”
The little prince: “So what do you want the machine to do?”
The programmer: “To run my program. I am making a program to run my program, meta-circularly.”
And the programmer returned to his meta-circular program.
The little prince pondered.
The little prince: “Why do you want a program to run itself since the machine already runs it?”
The programmer, looking at him again and frowning: “Ah. You’re still there. It is because I am building a tower of computation.”
The little prince: “How tall will your tower be?”
The programmer: “Infinite.”
The little prince looked up.
The programmer: “But in practice one only needs three levels.”
The little prince looked down again.
The programmer, resuming his task with a concentrated appearance: “And I am working on it.”
“What a strange person. Every time I ask him what he wants, he tells me what he is doing,” the little prince said to himself.
“So he must always be doing what he wants,” he thought continuing his journey: “a programmer must be very happy.”