LLL
- This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
LLL is an esoteric programming language designed by Lode Vandevenne in 2012. Programs in LLL are made from a circuit of logic components. Special components allow console input and output. A graphical mode where the circuit can be seen in action is also possible. In theory, an existing CPU could be built in this given its logic diagram.
The language itself is textual, the logic circuits are made from a 2D grid of ASCII characters. Characters are slightly lower level than logic gates.
Every tick, the language updates the state of every part based on neighbor parts. Parts can exist out of multiple ASCII characters. A signal requires one tick per part it goes through.
Instructions
The language has no instructions, instead it has cells from which logic gates and other parts can be made.
Cell | Description |
---|---|
space , . |
Isolator |
* |
Wire |
+ , x |
Wire crossing |
b |
Backplane connection |
^ , > , v , < |
Diode |
m , ] , w , [ |
Inverter |
i , I , j |
input |
o , O |
Output |
0 –9 |
Mark input or output for console I/O and other special signals |
r |
XOR wire |
c |
Counter wire |
d |
Delay wire |
" |
Comment |
With wires, diodes and invertors alone, every logic gate can be made, including XOR. The "r" and "c" cells are optional, anything these can do, could also be created from the other cells, but they are added to make them smaller, faster and more convenient.
Example program
The following program displays Hello world! on the console.
*o3 *o0 *o2 *o2 *o0 *o5 *o0 *o0 *o1 *o2 *o2 *o0 * * * * * * * * * * * * *o6 *o2 *o3 *o3 *o1 * *o1 *o1 *o4 *o3 *o5 *o5 * * * * * * * * * * * * * *o5 *o5 *o5 *o2 * *o2 *o2 *o5 *o5 *o6 * * * * * * * * * * * * * * *o6 *o6 *o6 *o3 * *o4 *o3 *o6 *o6 * * * * * * * * * * * * * * * * * * *o5 * *o5 *o5 * * * * * * * * * * * * * * * * * * * * *o6 * *o6 *o6 * * * * * * * * * * * * * * * * * * * * * * * * * * * * **]* * * * * * * * * * * * * I**>>*]***>>***>>***>>***>>***>>***>>***>>***>>***>>***>>***>>***>>***O0 O O O O O O O O O O O O 1 1 1 1 1 1 1 1 1 1 1 1
External resources
- The language's main page
- LLLL, a cellular automaton version of LLL