FACTOID # 53: If you thought Antarctica was inhospitable, think again - its land area is only ninety-eight percent ice. Reassuringly, the other 2% is categorised as "barren rock".
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > 2L programming language

2L (the Two Language) is an esoteric programming language derived loosely from the PATH programming language and Brainfuck. Among some hackers and hobbyists, an esoteric programming language is a programming language designed as a test of the boundaries of computer programming language design, as a proof of concept, or as joke, and not with the intention of being adopted for real-world programming. ... PATH is an esoteric programming language derived from the Brainfuck language. ... Brainfuck is a minimalistic computer programming language created by Urban Müller around 1993. ...


Like PATH and Befunge, it's two-dimensional. Like BrainFuck, it operates on a tape. However, it only has two symbols. It manages this by overloading the * symbol by direction. Your data pointer starts at location 2, not 0 as in BrainFuck, because 0 and 1 are significant. The tape is filled with 0s, as in BF. Your program pointer starts at 0,0 moving down, and ends when the program pointer goes below 0 left or up.

Contents

Symbols

SYMBOL FUNCTION
*

All IO and tape operations. This operation has a different function for all four cardinal directions: Up: Move the data pointer to the right (> in BF) Down: Move the data pointer to the left (< in BF) Left: Decrement the value at the data pointer (- in BF) Right: Increment the value at the data pointer (+ in BF)

+

if the value the data pointer points to is nonzero, turn right, otherwise turn left

IO

Tape locations 0 and 1 (TL0, TL1) are significant. 1 doesn't actually hold a value, it mearly causes an IO operation if you attempt to increment or decrement it. If the value at TL0 is 0, and you attempt to change the value of TL1, a character will be read from input into TL0. If TL0 is not 0, and you attempt to change the value of TL1, a character will be outputted from the value of TL0.


Hello World

Because of the extreme level of overloading, even the simplest program (Hello World!) is incredibly complex in 2L.

 + + + + + + + + * + + + + * + + * + + + + * + + + *********+ + *****************************+ + + * + + * + ********+ + * **+ + + + + + + + + + + + + + + + * + + + + * + + * ++* * + * ++* * * *+ * * * *+ * * * * * * * * + * + * ++ + ++ + + + + + + + + + + + + + + + + * + + + + + + * + + + + * + + + + * + + **********+ + + + * + **********+ + + + + + ***********+ + + + * + + **********+ + * + + + + +* * + + * * + + * + * * + * + + * *+ + * +* * + * + + + + * * * * + + + * + * * + + + * *+ + * + + + * + + + + * * + + + + + + + + + + + + * + + + + * + + + + + + * + + + + ************+ + * + + + * + + *********+ + + + + + *******************+ + + + * + ******+ + + + + + + + + * + + + + * + +* + * ++* * + * * * *+ * * + + * +* * * * + + + + * + * + * +* + ++ + *++ * + + * + + + + * + + + + + + + + + + + + + + + + * + * + + * ++* * + * + + * + * * * + + * ++ + + + + + ************+ + + + + * + + *********+ + + + + + + + + + + + * + + + + * + + + * ++* * + * + * *+ * * + * * * + * + ++ + + ***********+ + + + + * + + + **********+ + + + + + + + + + + + + * + * + +* * + + * * + * + + * + * * + + + * *+ + * + **********+ + * + + + + + * * * + + + **********+ + + + + + + + + + + + + + + * + + + * ++* * + + * *+ * * + + * * * * + + * + ++ + + * + + + + + + + + + ****+ + + * + ********+ + + + + + + + + + + + * + + + + * + + + * ++* * + + * + * *+ * * + ***********+ + * * * + + * + * + * **+ ++ + + + + + + + + ****** **** + + + + +* * + + + + * + + + * ++* * + + *+ * * + + + * * * + + + * ++ + + + + + + + * + + 

That outputs "Hello World!"


Links

  • The 2L page (http://www.befunge.org/fyb/2l/)

  Results from FactBites:
 
2L - Esolang (466 words)
2L (the Two Language), designed by Gregor Richards, is an esoteric programming language derived loosely from the PATH programming language and Brainfuck.
The program pointer starts at the upper left corner (0,0) moving down, and ends when the program pointer goes over either the left or top edge (i.e.
It becomes difficult to produce an arbitrary effect at an arbitrary point, because you have to be travelling in the right direction first.
Brainfuck - Wikipedia, the free encyclopedia (3416 words)
The name of the language is generally not capitalized, despite the fact that it is a proper noun.
Urban Müller created brainfuck in 1993 with the intention of designing a language which could be implemented with the smallest possible compiler [1], inspired by the 1024 byte compiler for the FALSE programming language.
This is a language extension devised by Panu Kalliokoski.
  More results at FactBites »


 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m