The Library of Babel is a huge library with many books. For example, the book titled ",fkwpival.vbfz" defines code golf on page 29

code golf is a type of recreational computer programming competition in which participants strive to achieve the shortest possible source code that implements a certain algorithm. playing code golf is known as golf scripting. code golf tournaments may also be named with the programming language used for example perl golf.

My question is, if we found a description of a programming language within a book, and an interpreter for the language, could we use it? If so, what would be the date the language was invented? I would assume the latest would be March 31, 2015, since the library and all it books existed then (according to the Wayback machine).

  • 3
    \$\begingroup\$ The rule has always been "if there's an interpreter, it's a language". Why do you care about the invention date? If it is for a particular challenge, that is to be decided by the OP. \$\endgroup\$ Dec 3, 2018 at 20:39
  • \$\begingroup\$ @NathanMerrill By default, languages have to be invented after the challenge is posted. \$\endgroup\$ Dec 3, 2018 at 20:40
  • 5
    \$\begingroup\$ You mean "before"? That's no longer true. The entire "noncompeting if created after the post date" is no longer a thing here. \$\endgroup\$ Dec 3, 2018 at 20:41
  • 1
    \$\begingroup\$ @NathanMerrill Oh, I didn't know that. When did that happen? \$\endgroup\$ Dec 3, 2018 at 20:42
  • 4
    \$\begingroup\$ codegolf.meta.stackexchange.com/questions/12877/… \$\endgroup\$ Dec 3, 2018 at 20:43
  • 2
    \$\begingroup\$ It's going to be very hard to find an actual program in there, given the only punctuation are periods and commas. No newlines either \$\endgroup\$
    – Jo King Mod
    Dec 4, 2018 at 8:09

2 Answers 2


Sure. Why not? Who cares where a language came from? If I had a PRNG output a bunch of random characters and that happened to make a valid language, there's no reason I shouldn't be able to use that. Languages invented by the library of babel aren't too different.

However, if you answer a challenge in the language ",fkwpival.vbfz", because that book corresponds to a language that answers the challenge in 0-bytes, or any other kind of rule-lawyering nonsense, you will certainly be violating both of these standard loopholes:

And most likely earning yourself a plethora of downvotes before your answer is deleted as well.


The language would have been created on the date at which the book was bookmarked for the first time

The Library of Babel is basically an encoding scheme: any possible string will exist somewhere in the Library, and the string itself is specified by a book location and page number. For example, the book you linked is located at:



Volume 25, Shelf 2, Wall 2.

You'll notice that the hexagon has a very long name. This is because it was effectively generated as an encoding of the content that was desired within the book. (This is a similar principle to, e.g., the esoteric programming language Seed.)

Now, the mere presence of an encoder/decoder for an encoding doesn't mean that all strings that can be encoded in it have already been created! Sure, they're potentially there, but someone has to actually perform the encode or decode step for anything to have been created.

In the case of the Library of Babel, you can "bookmark" a book to keep track of it, giving it a much shorter URL (that's why you have a short URL in your question above). Doing this means that someone has recognised the string in question and decided that it's interesting (perhaps by using it in the Library of Babel's search feature); this is a similar step to publication of a language specification, or the like. So that's the point at which the actual creative work applies.

Claiming that the language already existed in advance is no different from, say, using MetaGolfScript, which is disallowed in our standard loopholes. The Library of Babel defines all possible strings of letters (within certain restrictions), just like MetaGolfScript defines all possible programming languages. But defining everything is, in a way, similar to defining nothing; the creative step is in choosing what's interesting.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .