We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.
Babelfuck
| Designed by | User:GUAqwq |
|---|---|
| Appeared in | 2026 |
| Computational class | Turing complete |
| Reference implementation | Unimplemented |
Babelfuck is a Turing complete esolang which technically does nothing.
It was created to pose a question about the boundary of how much an interpretation process can do during the Turing completeness proof.
Overview
Babelfuck literally does nothing except storing a constant string. It has no operations and do no iterations.
Of course it's a no-IO esolang.
Turing completeness proof (maybe)
Even though Babelfuck does nothing, it's still Turing complete, thanks to how we interpret its input and output.
We initialize the string with a no-comment brainfuck code, a ; for separation, and the input stream following. This string serves as the input.
To get the output, we read the string out, separate it by ; to get the program and the input, and then run the program to get the output.
Since brainfuck is Turing complete, we can say that Babelfuck is Turing complete, too.
Get some philosophy
We all know that this esolang can't be Turing complete. The work is all done by interpretation. But how much work can the interpretation process do before we draw the "that does not count" line?
Interpretation can be involved in plenty of esolang creations.
For no-IO esolangs. There's always something to do with how you stuff data into the program, and how to show the output. For esolangs with IO, you original data structure may not be strings and require translations.
It's obviously not proper to deny the Turing completeness of all of them. But letting esolangs like Babelfuck pass the test is not fair either. We need a criterion.
Implement
Python:
s = "There is a string right?"
Javascript:
s = "I'm a string"
Brainfuck:
+>+++++>++>+++++++++ (just put your string in)