Truth
(This is the first draft, sorry for the bad style)
Truth is an esoteric programming language created by Sam Savitz in 2006. Truth is a new paradigm in programming languages. Each cycle causes each cell (To be defined later) to execute it's value. Each cell can hold one bit A cell must be defined, a cell defenition prototype is below.
[<[Cell ]Number>:](optional, but useful) [(initial|i): (0|1)] [(0|1)(0|1)(0|1)(0|1)] [reference1] [reference2]
eg:
6: initial: 0 1110 -2 -1
All cells execute simultaneously when they are called. The cell above is the fifth cell in a program. before any executions have occured, it's value is zero. On each execution this cell takes the value of the cell number 4 and 5 (6-2, 6-1) and takes the nand of them (this is because of the 1110, this means that if both references are 0 then make you value 1; if the first it 0, and the second 1, then make your value 1, if the first is 1 and the second 0 then make the value 1; if they are both 1, then make the vaue 0. above, I explained what happens in each case in the order they are represented by the code.
Any part of the definition can be ommited or replaced with a question mark, but then that which it would would determine will have undefined behavoir.
IO
One can enable basic IO by making special cells. The current system is as follows:
cell 0: if this cell is 1, finish this execution and then halt. cell 1: if this cell is 1, then output the value in cell 2. cell 3: if this cell is 1, then take one bit of input and write it to cell 4.
Example program
This program takes one bit of input and outputs its opposite:
0: i: 0 0011 +5
1: i: 0 0011 +4
2: 1100 +2
3: i: 1 0000
4:
5: i: 1
This program will only last for two execution cycles these are the values it goes through:
cell | 0 | 1 | 2 | 3 | 4 | 5
init | 0 | 0 | ? | 1 | X | 1 (? means undefined and unimportant, X = input) (the 1 in cell 3 tells it to input X into 4)
next | 1 | 1 |~X | 0 | ? | ? (the 1 in cells 0 and 1 say to halt, but first output the ~X (opposite of X) in cell 2)
One may make an anti-wimpmode by self-restricting themselves to only two specially picked Turing complete operators.
It is believed that Truth is turing complete
There is no interpreter yet.