Each line is a number of how many times repeat, and the stuff on that line. For example: 000 ;This example program #1 000 .INPUT .OUTPUT 001 @ 007 ++ 003 ** will be the space: . @ . ++ . ++ . ++ . ++ . ++ . ++ . ++ . ** . ** It starts from the top-left corner going south-east. Commands: * + increase current memory by 1, mod 256 * * move memory pointer in direction of program direction * ? turn 45 degrees counter-clockwise if value at current memory is non-zero * ! turn 45 degrees counter-clockwise if value at current memory is zero * @ save position and then go north. If there is already a position saved, then go back to saved position and direction and delete the saved position. If it is already going north (whether it is saved or not) it turns 45 degrees clockwise (whether or not the value is zero) * . does nothing That's all Stuff such as input/output/stop would be commands more north than the north side of the program, in certain position there would be a sub-routine that does that. For example: 000 1234567890123456789012345678901234567890123456789 000 .INPUT .OUTPUT .STOP 001 . . . . 001 .?......!!................? . 001 ?. .! ! . ? . 001 ? . .! ! . ? . 001 ?.!..@..!............@...? . 001 !.............................@ Standard subroutines: * 8 = Input * 24 = Output * 41 = Stop ''(Add more new ideas here with ? next to them)'' ''Not to step on toes here but I have attempted to correct the spelling on this page -- it was testing my sanity. Some of the intended meaning was unclear to me so I did my best to sort it out. Some of the grammar still may be iffy.'' ---- CategoryProgrammingLanguage EsotericProgrammingLanguage