# If we find a programming language in the Library of Babel, can we use it?

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).

• 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. – Nathan Merrill Dec 3 '18 at 20:39
• @NathanMerrill By default, languages have to be invented after the challenge is posted. – PyRulez Dec 3 '18 at 20:40
• You mean "before"? That's no longer true. The entire "noncompeting if created after the post date" is no longer a thing here. – Nathan Merrill Dec 3 '18 at 20:41
• @NathanMerrill Oh, I didn't know that. When did that happen? – PyRulez Dec 3 '18 at 20:42
• codegolf.meta.stackexchange.com/questions/12877/… – Nathan Merrill Dec 3 '18 at 20:43
• 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 – Jo King Dec 4 '18 at 8:09

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:

# 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:

Hexagon

1wx9566s8ck9xukawh9y687uqyecvjqvvehvqelplcj06ztjicpz6f9qnw1ky0qornannj1mpuacweszdrj8wbdwf9ce6wl4h3som4jguduuig69x7iesm31ql3or43m17ebh1vdi0ecxyzzu2hxt7ci2z43y8xc03phl0ikhhdfv6hfw1rqbeadl2v9zsetrh3yapglbrf18pmd284endczs6pj9bb9foq8dmr0r6crysgvdu7s2k4944247r498peumgqjjtohynp29j3ixlwjclw3bzce94li8jl4ck40boi8n6omptyr6a35db1rpubpktm1eipzyuw2eo3bncmxm9t76f3lxketjfpb1pg18al95z03zf88blk88255a70z87roquq6oghvc7dpud81e2dx1ud6z6i9yfu3j3l91b189upv6bt3ejgr25v15h8mvh3y7ppnafhk84ofxg3apvu423bbi4k918lqvgzgknx4v6kqb7ufrr2vk8n2rp6patrq7ah3no5pm7qowp3yd1gunavzyvxl6vg1lt3z5oc3xrdou7p3cmlgwf2nsz1kxa7htowl4np91qj4wwg0uxp16zbfs44p6zho0cbgf55j1o1uuz2b64ctace1gda7xjmyow5kw2qjxikrampqh4ws8q9kl77esja6swmt0waobptleb8py3j3l8gmergybdd4olr80ljhp7x89sfu52xieg14lmun4bs1mkp1146jbimv26im0kk3mcnrznooyd9s7pv4lx88wsv8qk530d2p1budd50icn55vr9r43pfomk8v7xf8vd90cj80z6xdiat0hzu945i6sel2esj5twz8p0g2uzrl4ea0e7jifsr1nct73uqan8lhho2iurgzyceqepb4or97tekhcptwgykjt5bm18wntcpkkcgh10a9mpj0pgj2j3r2ulcc65xpy1d7k9i3bzb56u5y7yrymn8659mwsfv5sm2j08z2pxrzuk6l0uz5yskyyao9dmtae4ajgi2uqepnyebhwvujppxuizad3vhblt9tclyjbbik3or1p3qttvqq3z07brxe742da8vlyfifmwxcvjjiz6z7r5z3in1kbjczpmac35e0nwijgmordpyc76nef4vz1xknf1h5eno7rxljc0nsu6r5xdp3fmlpag3wl3vlwxwuf9ph7wyu6xduf932fynnj282t6lp6mfac9enl9q52i1zvpxidgbx9l5prh79b4mpmn7zupe2rliosnwh6ixqygstv9424nl3owtck7u1qu4uq4osuhwftbh2oaydvpw9zh1g8iejhajy4gysgs72oqvzu9cb537xtkahy3qrh73v2xkkbukofp28p71oe1k1wto56t18twt7gchudba4if7fkrlqh2r40cm6sc5q36bbw0ha10qiu0syi9reuafoemoq9z5x46fdmdryrfrkyf76bssw6627k2mamspjwv5cp6qsjtbfvu002tknt3wu8jaltcezdqvfpgo0zg4bkbicgeytu3pyytlj40xyze4z0tgrgmspdj7kxgjy79tw1p7ub2ruovizzmok4617k7cd72ol6qbnnuc3iwf6uyebvuvh21rmqfw6p1p2cnpdtgp9tr672srbtr3v2r8dmph4ovnfl1b5payvynukfj4otxg8sloq10eu3yvmgktzgspfgfyqa41zndj5mtat52663q7tbktgwvs5eqcyyn82l7wxmraam9q1ygp4159qljviye1vno2sggxa1d01ma7aeuug9szk63yqgyd7jqtu2j3e86b8llkp9633y53aq07z28tjpbr4vcrhzck1ygato1606rx36qhq5g62gelruklmx37oko32l9ywmg6tg2ulkb6yluw8a9pbm74qxn58idcber842s0f7a9fod06zgyetcx45qr6azi5s72qo7cp27cwl39ri181vwljc5urkliqw6evie6uruhf328xkot5ayi44z07i01caa2as1kwfjapsttejaaermy9q2yg3ji1cwr9uhyqxyenj2kd5xugrpdqv08g00bzvr0qj7cm7wblnsi8gls85s8zu2q71lu795pg4urgqu5be5gcwtonq685cgfwkx9ul16vo1ommmddzxl3sc3nkpl9ahwsx5uasenkwwj3jowo8fwdmhz9g29m2l2b2puqoo6wseqw6zyr9waz2hh44gab2cwayntkxyu1fogfmu2zrwox99up8thr8u8sd4zcrwcj53v6rdeagkdk0vk8mnypm8jrpw4qlffo800wcjhjdytzy9c8ynfjzyf2li04v0ofxvt9xnnahrmav1qe8axjpepo9ml1ft838sy8j7lonlrcpeq7ks69xxbvt2l1d0a3ww37724dxbp7c27dv5qv07cdtmxruznwm84zgjm6xoea33zfa0eaowud4db87jhibek80qlzqklapszfchu6x4pt1gqc71t82drt5ljqud32gscmvtd20vx9h41g7tl2ml330f0uak6106mh83buw695c57557h3n0irxldzgrp54z0iqi825tac3xy2xtzqkkq9srq497loueuvy224upifrh2husmsu8bwz97dzulwnv66k6qa41bo3gyta4caekm22t5tdpyid70n0628vil04pdtq83tvgw09i77za28wc89jdo8rknn5r22fgrhbmxbk6cdqf06ygc6qd39fjp3m7loy4kia5tahefds2ezrxadah3gc6sbz3xviw28qpt1mehm1ul07dcqhdgrv1252wu9f2fnhrknqunrivmdtv9mgbd8aqq0tazm2200lmeqzr89fx643ty14kokycteslajzt7tinueh5ay519xbd357czhict37hxidtcwtwq8vapquf8pnfdgkkbybnn6epvp623asl9mfml85trkfu04nn6hzcrndrevmvp5jcg0nb2ep2ov8tjbx8tyky67ksabscpmvfvsm9xnbeyn57t6mkgdax9x5d0lm8kycncguq6pv27zqvzk30hlxxr7886lgmb2zdyol2zemsn6jivijge3p1nskr0rxh3fs2h0w9yxhuq2wfxefq6zc967ddyz21rrs9v4cn0vtnqjl804z4ej1dwk09qs11w6fn1odkggso3rsynppj2m9jwhea013xgtn5bkujmumm4wzp5ga6hws0rv9wlij0nrjqr8j


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.