LOLCODE

Uses your system voice; voice and rate in settings.

Snapshot

≈ 3 min read

Names in other languages

No names in other languages are held for this entry yet.

Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.

LOLCODE is an esoteric programming language inspired by lolspeak, the language expressed in examples of the lolcat Internet meme. The language was created in 2007 by Adam Lindsay, a researcher at the Computing Department of Lancaster University. The language is not clearly defined in terms of operator priorities and correct syntax, but several functioning interpreters and compilers exist. One interpretation of the language has been proven Turing-complete.

LOLCODE is an esoteric programming language inspired by lolspeak, the language expressed in examples of the lolcat Internet meme. The language was created in 2007 by Adam Lindsay, a researcher at the Computing Department of Lancaster University. The language is not clearly defined in terms of operator priorities and correct syntax, but several functioning interpreters and compilers exist. One interpretation of the language has been proven Turing-complete. ===Example 1=== HAI 1.2 CAN HAS STDIO? VISIBLE "HAI WORLD!" KTHXBYE ===Example 2=== HAI 1.2 CAN HAS STDIO? PLZ OPEN FILE "LOLCATS.TXT"? AWSUM THX VISIBLE FILE O NOES INVISIBLE "ERROR!" KTHXBYE In this example, commands to open a file ( PLZ OPEN FILE "NAME"? —"Please open this file?"), and error handling ( AWSUM THX —"Awesome, thanks!", and O NOES —"Oh no!") are introduced. ===Example 3=== Other commands include I HAS A variable for declaring variables, variable R value ("variable [is/are/being] value") for assigning them, sending error messages to the front end via INVISIBLE instead of VISIBLE , and BTW ("by the way") to denote a comment, making the parser ignore the rest of the line. Loops are created with IM IN YR label (inspired by the "Im in ur noun, verbing yr related noun" LOLcat meme), and ended with IM OUTTA YR label . Loops can be broken with the keyword ENUF ("enough"), or in older versions, GTFO . Loops can also be ended with the conditional IZ command, as demonstrated in the next example. HAI 1.0 CAN HAS STDIO? I HAS A VAR IM IN YR LOOP UP VAR!!1 VISIBLE VAR IZ VAR BIGGER THAN 10? KTHX IM OUTTA YR LOOP KTHXBYE This simple program displays the numbers 1–11 and terminates (as of specification 1.0). The same program as of specification 1.2 is (assuming VAR starts at 0): HAI 1.2 CAN HAS STDIO? IM IN YR LOOP UPPIN YR VAR TIL BOTH SAEM VAR AN 10 VISIBLE SUM OF VAR AN 1 IM OUTTA YR LOOP KTHXBYE HAI 1.0 CAN HAS STDIO? VISIBLE "U SEE THIS" BTW VISIBLE "U SEE NOTHING" OBTW VISIBLE "U SEE NOTHIN" VISIBLE "U STIL SEE NOTHIN" TLDR VISIBLE "U SEE THIS" KTHXBYE The above example will return the following: U SEE THIS U SEE THIS This is because line 3 outputs U SEE THIS but line 5 is ignored due to the fact that it is commented out by the BTW keyword. Lines 8 and 9 aren't run because they are in a multiline comment that starts in line 7, and ends on line 10. Line 12 outputs U SEE THIS and line 13 terminates the program. ==Related projects== LOLCODE has also inspired LOLPython, written by Andrew Dalke. LOLPython uses LOL-inspired syntax similar to that of LOLCODE, but with a Python-like style. It operates by translating the LOLPython source into Python code. ArnoldC is an offshoot of LOLCODE that replaces lolspeak with quotes from different Arnold Schwarzenegger movies. ==External links==

Text derived from https://en.wikipedia.org/w/index.php?oldid=1365801280 under CC BY-SA 4.0; modifications have been made.